Tag: macos

在Mac OSX下检测连接的USB设备

首先是一个声明:对于Mac的编程,我是一个新手。 但是我有一个需要与设备进行USB通信的任务,所以我想我会从基本的东西开始。 我从这里获取代码,构建它并从终端运行它。 它启动并写入: 寻找符合供应商ID = 1351和产品ID = 8193的设备。 开始运行循环。 然而,在此之后,如果我插入和拔出USB设备(我尝试过:iPod,GPS,鼠标)屏幕上没有任何内容,尽管据我所知,每当我连接和断开设备时都应该有。 我究竟做错了什么? 提前致谢。

如何在Mac OS X上从命令行进行配置?

我正在尝试使用命令行工具在Mac OS X上分析C / C ++代码,我在gcc上使用-pg选项在Linux上运行gprof ,但我似乎无法在Mac上找到gprof ,即使我有一个描述在此页面中: 其他命令行工具(iOS)或其他命令行工具(mac) 。 gprof:Produces execution profiles based on an execution analysis of a program. 我安装了命令行工具,因此可以使用其他命令行工具,如otool和otool 。 我搜索了这个页面( https://apple.stackexchange.com/questions/154289/installing-gprof-on-mac ),说gprof不受支持,但我不确定我什么时候有Apple doc描述工具; 无论如何,我尝试使用brew来下载gprof ,但它没有用。 我发现尝试在Mac上使用带有C ++代码的gprof ,但我没有使用instruments -t输出。 我还在mac os x上发现了profiling c ++ ,但我不想打开Instruments,因为我想自动化一些进程并尝试保持跨平台系统。 如何在Mac OS X上使用gprof? 我使用OS X 10.10。 如何使用或不使用gprof从命令行进行配置文件?

在尝试使用已安装的开发人员工具进行编译时,未找到/正在使用editline / history.h和editline / readline.h

我正在编写关于构建自己的LISP的教程( http://www.buildyourownlisp.com/chapter4_interactive_prompt ),出于某种原因,当我尝试编译时,我得到了这个: REPL.c:4:10: fatal error: ‘editline/readline.h’ file not found #include ^ 1 error generated. 我已经安装了osx开发者工具,brew正在显示readline已经安装,当我尝试brew install editline时它不知道该怎么办。 这是我的代码: 1 #include 2 #include 3 #include 4 #include 5 6 int main(int argc, char** argv) { 7 8 /* version/exit info */ 9 puts(“Edward Version 0.0.1”); 10 puts(“Press Ctrl+c to Exit\n”); 11 12 /* endless loop […]

我应该为OS X特定代码使用什么C预处理器条件?

我应该为OS X特定代码使用什么C预处理器条件? 如果我正在编译OS X,我需要包含一个特定的库,如果我正在编译Linux,我需要包含一个不同的头。 我知道有__APPLE__但我不知道这是否是OS X 10.x的当前条件。

如何在mac上找到gcc版本

我在mac机器上使用OS 10.9。 我想知道我正在使用的gcc版本。 所以我在终端上尝试了gcc –version ,结果如下: $ gcc –version Configured with: –prefix=/Applications/Xcode5-DP.app/Contents/Developer/usr –with-gxx-include-dir=/Applications/Xcode5-DP.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 Apple LLVM version 5.0 (clang-500.1.58) (based on LLVM 3.3svn) Target: x86_64-apple-darwin13.0.0 Thread model: posix 在输出中,没有与gcc相关的细节,但clang就在那里。 我很困惑gcc命令是执行clang还是gcc(gnu)。

为什么sysctl在Mac OS X上生成E_INVAL?

下面是一个C / Obj-C代码的简化(错误/空检查省略)片段,它使用sysctl来获取PID 50的特定进程的argv。 … int getProcessArgs[3] = { CTL_KERN, KERN_PROCARGS, 50 }; sysctl(getProcessArgs, 3, NULL, &length, NULL, 0); char* processArgs = malloc(length * sizeof(char)); sysctl(getProcessArgs, 3, processArgs, &length, NULL, 0); … 第一次调用sysctl(确定argv字符串数组的大小)成功。 返回的长度约为1600,比我预期的要大,但我认为并非不合理。 Malloc成功了。 第二次调用sysctl返回-1,将errno设置为22,E_INVAL。 我已经查看了其他代码,包括来自这个问题的代码,但是看不到我的问题。 我错过了什么?

如何在C或C ++中以编程方式检测OSX上的IP地址更改

我必须能够检测到我的Mac客户端的IP地址更改。 我需要在每次换新动作时执行动作,当我从wifi转到有线时… 有人做过类似的事吗? 我目前每分钟都会进行一次调查,我需要将其更改为更多事件驱动。

在我的Mac上制作一个C启动器

我想为我制作的ac程序制作一个启动器,我想让它在终端中运行。 我该怎么办? 我甚至没有丝毫想法

忽略文件lib.a,文件是为归档而构建的,而不是被链接的体系结构(x86_64)

我正在尝试编写printf克隆代码。 我已经构建了一个名为“libftprintf.a”的库文件,但是当我尝试使用它时,我在Mac OSX 10.8.5上收到以下错误: ld: warning: ignoring file ./libftprintf.a, file was built for archive which is not the architecture being linked (x86_64): ./libftprintf.a 奇怪的是,这工作正常(但我只需要一个名为libftprintf的lib,所以这是不可接受的): gcc -Wall -Wextra -Werror -I libft/includes/ -o ft_printf_test.bin -L libft -lft -L. -lftprintf ft_printf_test.c 我怀疑我滥用ar命令将两个lib链接在一起。 但我还没有弄错。 可能是什么原因? 在尝试将libftprintf.a文件与make test命令一起使用之前,所有内容似乎都可以正常编译。 我在Google上搜索了一个解决方案,但大多数答案仅与XCode有关。 根据lipo -info ,文件是x86_64。 我的GCC版本: $> gcc –version Configured with: –prefix=/usr –with-gxx-include-dir=/usr/include/c++/4.2.1 […]

在Mac上使用gdb在eclipse中调试 – 无法执行MI命令:-exec-run

我有我的Eclipse Kepler和我简单的HelloWorld C程序,我想学习如何调试C程序。 单击调试按钮时,我收到以下错误消息: 最终启动顺序错误无法执行MI命令:-exec-run来自调试器后端的错误消息:无法找到进程ID为359的Mach任务端口:(os / kern)失败(0x5)。 无法找到进程ID为359的Mach任务端口:(os / kern)失败(0x5)。 我搜索了一整天,没有找到任何解决方案。 我已经在Eclipse GDB MacOSX Mavericks这篇文章中做了所有推荐的事情,但仍然会出现此错误。 如果有人可以帮助我在Eclipse中设置调试器,那真的很棒。 哦,我通过macports下载并安装了gdb-apple,我不得不使用“-f”选项和codesign命令,因为它没有用。 也许这些是重要信息。