Tag: macos

哈佛CS50库,需要帮助在Mac OS X上安装

我正在从cs50.tv学习这门课程,这是哈佛扩展学校,在课程中他们使用的是他们制作的名为cs50的图书馆,在这个链接上可以下载 https://manual.cs50.net/CS50_Library#Mac_OS 我下载了zip文件并将其解压缩,然后打开终端并以cd的方式进入库目录,但每次我都按照手册中的步骤操作。 我执行此命令后立即gcc -c -ggdb -std = c99 cs50.c -o cs50.o 我在终端中收到此错误 cs50.c:15:16: error: gc.h: No such file or directory cs50.c: In function ‘GetString’: cs50.c:207: warning: implicit declaration of function ‘GC_FREE’ cs50.c:212: warning: implicit declaration of function ‘GC_REALLOC’ cs50.c:212: warning: initialization makes pointer from integer without a cast cs50.c:230: warning: implicit declaration of function […]

我该如何编译这个C代码?

我下载了这个源代码(.zip),并希望在我的Mac(OSX 10.11.2)上使用XCode版本7.2(7C68)进行编译。 我开始编译文件fdist.c gcc -o fdist2 -O fdist.c -lm 但它会返回一系列警告和错误(见下文)。 看看文件,我看到它确实看起来不像我习惯的那种代码。 通常,似乎未指定函数返回的对象类型。 README_fdist2没有多大帮助。 有关如何编译代码的指南,但第一行中有一个拼写错误。 我该如何编译这段代码? 以下是命令gcc -o fdist2 -O fdist.c -lm返回的错误和警告 fdist2.c:42:1: warning: type specifier missing, defaults to ‘int’ [-Wimplicit-int] main() ^ fdist2.c:117:3: warning: implicit declaration of function ‘sim1’ is invalid in C99 [-Wimplicit-function-declaration] sim1(init,initot,rm,mu,freq_arr,val_arr,&noall); ^ fdist2.c:119:4: warning: implicit declaration of function ‘my_thetacal’ is invalid […]

“Abort trap:6”在Mac上运行C程序

我有这个程序的问题。 当我尝试在Mac上运行它时,它会返回“Abort trap:6”。 我无法理解原因。 下面是我用来测试程序的文件内容。 aaabccdegags bbbbbbbcados vbaiusbyabtd aisybavsitvc asindvsivati ammaccabanan 您应该将这些无意义的字符串复制到文本文件file.txt并使用以下语法通过命令提示符调用它: program.exe file.txt r 其中file.txt包含无意义字符串, r是它应在文本文件中查找的字母。 #include #include #include #include #define R 24 #define C 71 int main(int argc, char * argv[]) { if (argc!=3){ printf(“Errore acquisizione parametri\n”); return -1; } FILE*fp; char m[R][C],c,posizione[10]; int i,j,lstr,numrighe,quante,quantemax,posiz,x,y,maxmax; maxmax=0; //posiz=1 se orizzontale quantemax=0; sscanf(argv[2],”%c”,&c); fp=fopen(argv[1],”r”); if […]

在macOS Sierra上构建guile-2.0.11失败:架构x86_64的未定义符号

我不是一个经验丰富的程序员/开发人员/软件工程师,但我需要“手动”构建这个旧版本的guile-2.0.11,而不是使用home-brew(安装最新版本的guile)。 我从GitHub存储库下载了guile-2.0.11的tarball,将其解压缩并运行shell脚本autogen.sh。 这产生了一个配置可执行文件,它可以运行完成并生成一个Makefile。 当我运行make时,构建将继续,直到我收到此错误: Undefined symbols for architecture x86_64: “_clock_getcpuclockid”, referenced from: _scm_init_stime in libguile_2.0_la-stime.o “_ffi_call”, referenced from: _scm_i_foreign_call in libguile_2.0_la-foreign.o 还有16条“ ffi ”类似的消息。 然后错误消息完成 ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[3]: *** [libguile-2.0.la] Error 1 make[2]: *** [all] Error […]

检测mac os x上的用户活动

我使用函数“IOPMSchedulePowerEvent”来安排Sleep或Wake-Events,并使用“IORegisterForSystemPower”注册我的守护进程以接收电源状态更改。 一切正常! 当系统进入睡眠状态并且稍后在预定时间醒来时,我的守护进程会做一些工作,之后系统应该再次进入睡眠状态。 现在我的问题: 如果系统被用户或预定时间唤醒,我该如何检测? 如果用户当前正在使用该系统,我怎么能检测到守护进程不能将它置于睡眠模式? 谢谢诺比克

如何使用C中的stat()查找不同相对目录中文件的大小?

这是我使用stat()获取文件大小的函数: off_t fsize(const char *filename) { struct stat st; if (stat(filename, &st) == 0) return st.st_size; fprintf(stderr, “Cannot determine size of %s: %s\n”, filename, strerror(errno)); return -1; } 我可以通过以下方式获得文件大小: size = fsize (“byte.bin”); 但是当我需要从本地目录的较低目录中获取文件时,让我们说“deps / src”目录,它会过早地停止在我身上,没有我预期的错误消息: size = fsize (“deps/src/byte.bin”); 我写了一个使用该函数的小程序,将byte.bin文件复制到“deps / byte.bin”并用“deps / byte.bin”调用我的fsize函数并得到错误“无法确定byte.bin的大小: 没有相应的文件和目录” 如果我使用像“/something/deps/byte.bin”这样的绝对路径,它就有效。 我做错了什么以及如何表明我为相对路径做这件事?

从XCode中的C-Programm到SWI-Prolog的接口

我想使用MAC OS X下的XCode IDE到SWI-Prolog从c代码接口。 我已经包含了头文件并使用以下示例代码: #include #include #include int main(int argc, const char * argv[]) { char *av[10]; int ac = 0; av[ac++] = “/opt/local/lib/swipl-6.2.2/bin/i386-darwin12.2.1/swipl”; av[ac++] = “-x”; av[ac++] = “mystate”; av[ac] = NULL; #ifdef READLINE /* Remove if you don’t want readline */ PL_initialise_hook(install_readline); #endif if ( !PL_initialise(ac, av) ) PL_halt(1); PL_halt(PL_toplevel() ? 0 […]

在“*”标记之前仍然是“错误:预期’=’,’,’,’;’,’asm’或’__attribute__’”

这是一个说明问题的小型纯C程序。 该计划没有做任何事情; 它是一个展示同样问题的大型程序的精简版本。 这是场景: Mac OS X Lion; gcc版本i686-apple-darwin11-llvm-gcc-4.2(GCC)4.2.1(基于Apple Inc. build 5658)(LLVM build 2335.15.00); 示例代码: #include #include char huge *pbA; char huge *pbB; int main(int argc,char *argv[]) { pbA = (char huge *)farmalloc(2); pbB = pbA; *(pbB++) = ‘A’; return( 0 ); } 编译命令: gcc -c -Wall -O -g -pipe -D_SDL myTest.c 错误消息: myTest.c:4: error: […]

获取当前pthread cpu使用情况Mac OS X

如何在Mac OS X中从线程本身获取线程的cpu时间? 对于linux,我所做的是getrusage(RUSAGE_THREAD, &ru)但是这个解决方案不适用于Mac OS X. 我遇到了这个问题,但我不知道如何根据我的目的调整它(我不熟悉Mac OS X的内部。我甚至不确定pthread thread == mach thread)。

使用C / C ++在OSX中获取进程创建日期时间

给定进程ID,使用C / C ++查找进程创建日期时间的最佳方法是什么?