Tag: macos

如何在osx上使用clang编译共享库

源文件 rsetti::fastidio { /tmp }-> cat foo.c #include void ACFunction() { printf(“ACFunction()\n”); AGoFunction(); } 编译共享库 rsetti::fastidio { /tmp }-> clang -shared -o libfoo.so foo.c foo.c:4:3: warning: implicit declaration of function ‘AGoFunction’ is invalid in C99 [-Wimplicit-function-declaration] AGoFunction(); ^ 1 warning generated. Undefined symbols for architecture x86_64: “_AGoFunction”, referenced from: _ACFunction in foo-lFDQ4g.o ld: symbol(s) not […]

在Cocoa / Objective-C中创建监视程序的原因和方法

祝大家周一愉快! 这是我的情况。 任何帮助非常感谢! 我创建了一个可执行文件,安装后可以放在机器的Launch Agents文件夹中。 理论上它应该永久运行,每秒收集一次数据。 它可以在机器处于睡眠状态时停止,但在重新启动计算机时重新启动。 这是我的问题: 有时程序会自动停止 ,通常是在运行几天之后。 如果重新启动计算机,程序将重新启动并再次运行一段时间,然后才会出现同样的问题。 我不知道这个问题的原因,但朋友告诉我,我可以创建一个“看门狗”,每分钟检查我的可执行文件是否正在运行。 如果不是,则监视程序将重新启动可执行文件。 有关如何做到这一点的任何指示? 我的应用程序是用Objective-C和Cocoa编写的,可以在Mac上运行。 非常感谢! 编辑1 我将尽我所能解释该应用程序是如何工作的。 它基本上是用C和Objective C编写的方法的集合,每秒查询有关系统的信息: -bytes传输 – 键盘活动 – – 小鼠活动 – – 硬盘的百分比用完了 – 具有键盘焦点的进程 …等等。 它使用Apple Developer网站提供的低级API来完成此操作。 它每秒将信息写入文件。 每小时压缩文件并创建一个新文件。 请询问是否需要更多说明:) 编辑2 对于那些想知道的人,这里是plist文件 Label com.Intel OnDemand ProgramArguments /Library/LaunchAgents/Contents/Intel RunAtLoad 再次感谢….

OSX缺乏memalign

我正在研究C中的一个项目,它需要memalign()。 真的,posix_memalign()也会这样做,但是darwin / OSX缺乏这两者。 什么是鞋拔的好方法? 我不理解posix-C代码的许可,如果我要删掉memalign.c并把它放在我的项目中 – 我不希望任何病毒式许可LGPL-ing我的整个项目。

gdb终止了信号?,未知信号

我只是想在Mac OSX版本10.12上使用gdb调试代码,但在gdb中启动程序时总是会遇到此未知错误。 我在安装后对gdb进行了编码,并使用-g标志编译了我的代码。 这就是发生的事情: computer:hello user$ gdb a.out GNU gdb (GDB) 7.12 Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type “show copying” and “show warranty” […]

如何使用GCC将源代码行与汇编输出内联?

我想让C源代码行与汇编输出内联,以查看正在生成的代码。 我尝试过像-S -Wa,-ahlms这样的GCC选项(甚至-Wa,–gstabs因为我在某处读过它)。 哦! 顺便说一句,我在Mac上,所以我没有objdump 。 (对不起,这很简短,我必须下车!) 输出gcc pc-clisp.c -S -g -fverbose-asm -fnested-functions .globl _getBool _getBool: LFB32: LM21: pushl %ebp # LCFI30: movl %esp, %ebp #, LCFI31: subl $8, %esp #, LCFI32: LM22: movzbl 8(%ebp), %eax # atom.pred, D.4112 movzbl %al, %eax # D.4112, D.4113 andl $-16, %eax #, D.4114 sarl $4, %eax #, D.4115 […]

在Mac上检索RAM信息?

我需要检索系统中存在的RAM总量以及当前使用的总RAM,因此我可以计算一个百分比。 这类似于: 在MacOS X上检索系统信息? 但是,在那个问题中,最佳答案建议如何通过以下方式获取RAM: /usr/bin/vm_stat 由于我的程序的性质,我发现我不能从该文件中读取 – 我需要一种方法,它将为我提供RAM信息,而无需简单地打开文件并从中读取。 我正在寻找与函数调用有关的东西。 这样的东西最好是: getTotalRam()和getRamInUse() 。 我显然不希望它那么简单但我正在寻找除了从文件中读取之外的解决方案。 我正在运行Mac OS X Snow Leopard,但最好能获得适用于所有当前Mac OS X平台(即Lion)的解决方案。 解决方案可以是C ++,C或Obj-C,但是在我的情况下C ++是最好的解决方案,所以如果可能的话请尝试用C ++提供。

FSEvents C ++示例

我需要为Mac中的文件夹创建FSEvents观察器。 我对C ++很满意,有没有办法用C ++代码而不是Objective-C来获取FSEvents通知。 是否有一些示例代码开始和我需要包含的任何库..? 我已经在这个页面上了。 http://developer.apple.com/library/mac/#featuredarticles/FileSystemEvents/_index.html 但似乎只有Objective C,我可以有它的CPP版本

在Mac OS X中从相机捕获video

我如何在MacOS X中过滤来自摄像头的video流。我编写了quicktime序列抓取器通道组件,但只有当app使用SG API时才能工作。 如果应用程序使用QTKit Capture,则组件无效。 有人知道我该如何实现它?

Mac OS X上的标准C库在哪里?

我试图在Mac OS X上找到标准的C库。我尝试过像“/usr/lib/libc.a”或“/usr/lib/libm.a”这样的路径,但是没有这样的文件系统。 你能告诉我在哪里找到它吗? 然后我在Linux机器上使用Terminal并运行这样的命令: ar t /usr/lib/libc.a 它返回一个.o文件列表,那些.o文件是这样的: svc.o xdr.o … 这些文件的含义是什么? 哪里可以找到它们?

在OS X El Capitan上使用libssl编译C程序?

我有一个使用libssl的简单C程序。 在Linux上,我安装了openssl-dev软件包并使用以下行编译程序: gcc test_libssl.c -o test_libssl -lcrypto -lssl 现在我想在我的Mac上做同样的事情。 同一行导致: fatal error: ‘openssl/conf.h’ file not found 我尝试通过brew install openssl安装openssl(openssl-dev没有工作)和home-brew 这给了我: … ==>安装openssl ==>正在下载https://www.openssl.org/source/openssl-1.0.2a.tar.gz curl:(22)请求的url返回错误:404 Not Found 我找到了一个没有答案的相关SO问题 。 我也试过了 brew info openssl 并得知 这个公式只是keg。 Mac OS X已经提供此软件并且并行安装另一个版本会造成各种麻烦。 Apple不赞成使用OpenSSL来支持自己的TLS和加密库 为了能够在OS X上编译libssl-C程序,我需要做什么/安装? 或者,首先是一个坏主意(鉴于上面的警告)? 更新: 我用brew安装了openssl。 我不确定这是不是问题,但我更新了brew。 采取brew的建议 您应该将/ usr / local的所有权和权限更改回您的用户帐户。 sudo chown -R $(whoami):admin / usr […]