Tag: osx lion

如何使用libstrophe构建一个jabber客户端

我正在尝试使用libstrophe库创建一个简单的Jabber客户端。 到目前为止,情况相当顺利,除了一件我需要澄清的事情。 也就是说,我应该如何(持续)知道联系人的状态(即在线/离线),以便我可以将其显示给我的程序用户? 同样,我该如何申请用户名单? 我查看了roster.c提供的roster.c示例,但只打印出一次名单。 在实际应用程序中,我需要连续请求/更新,以便在应用程序中显示用户添加的任何新联系人等。 所以基本上,我不清楚如何确保我总是在用户的联系人列表中显示最新的名单和最新状态。 我是否应该在某个预定义的时间间隔内请求名册?

当长度> 2G时,Fread on Lion不会读取

由于Macosx Lion fread不读取长度> 2G(int size,2’147’483’648 bytes)的文件。 它与macosx雪豹一起工作多年。 我写了一个程序来测试它: #include #include #include int main(int argc, char *argv[]) { FILE *fin = NULL, *fout = NULL; char *ptr = NULL; size_t len; fpos_t flen; if (!(fin = fopen(argv[1], “rb”))) { printf(“The input file: %s could not be opened\n”, argv[1]); return -1; } if ((fout = fopen(argv[2], “rb”))) […]

C – 在Mac OSX Lion上编译时,架构x86_64的未定义符号

我在Mac OSX Lion上编译一个非常简单的name.c文件时遇到了一些问题。 现在,我开始在cs50.net上关注哈佛CS50课程。 我不是全新的编程,但我很好奇这门课程的教学方式。 这是name.c的来源: #include #include int main(void) { printf(“State your name:\n”); string name = GetString(); printf(“O hai, %s!\n”, name); return 0; } 如您所见,它需要这个库: https : //manual.cs50.net/CS50_Library 。 现在,当我编译它时,会发生这种情况: Undefined symbols for architecture x86_64: “_GetString”, referenced from: _main in name-vAxcar.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with […]

符合ANSI C的实现是否可以在其标准库中包含其他function?

是否符合ANSI C标准的实现允许在其标准库中包含其他类型和function,除了标准列举的那些之外? (理想的答案将参考ANSI标准的相关部分。) 我特别要求,因为Mac OS 10.7在stdio.h中声明了getline函数,即使使用-ansi标志使用gcc或clang进行编译也是如此。 这打破了几个定义自己的getline函数的旧程序。 这是Mac OS 10.7的错吗? (Mac OS 10.7上getline的手册页说getline符合2008年推出的POSIX.1标准。) 编辑:为了澄清,我发现奇怪的是,在Mac OS 10.7上的ANSI C89程序中包含stdio.h也会getline函数的声明,因为getline不是K&R中枚举的函数之一(可能是ANSI) stdio.h的描述。 特别是,尝试编译noweb : gcc -ansi -pedantic -c -o notangle.o notangle.c In file included from notangle.nw:28: getline.h:4: error: conflicting types for ‘getline’ /usr/include/stdio.h:449: error: previous declaration of ‘getline’ was here 它是否是Mac OS 10.7中的一个错误,即使在编译ANSI C89标准时也包含stdio.h中的getline声明?