反对使用 size_t 的理由是什么?
我有一个这样的 API, class IoType { ...... StatusType writeBytes(......, size_t& bytesWritten); StatusType writeObjects(......, size_t& objs…
在现代 POSIX 环境中,除了 usleep 之外,我还能使用什么?
我对 C 相当陌生,但正在编写一个小型多线程应用程序。我想给线程引入延迟。我一直在使用“usleep”,其行为正是我想要的 - 但它会在 C99 中生成警告…
在 C99 中组合指定的初始值设定项和 malloc?
有没有一种好的方法可以将 C99 中的指定初始值设定项与 malloc 的结果结合起来? 以下似乎有不必要的重复: typedef struct { int a, b, c; } Type; T…
C99,C 代码中的变量放置
我使用 Visual Studio 2008 编写 C 代码。我想将变量放置在代码“内部”。像这样 int main() { foo(); int i; foo(i) return 0; } 我可以这样做吗? …
隐式声明memcmp在c99中无效
我正在 Xcode 4 中创建一个非常基本的 C 控制台应用程序,并且在编译时遇到警告:memcmp 的隐式声明在 c99 中无效。 我对该函数的使用正如您所期望的…
在 NULL 表示为 0 的平台上,编译器是否曾经生成过 NULL <= p 的意外代码
在 C99 中,等式 == 似乎从来都不是未定义的。如果您将其应用于无效地址,它可能会意外生成 1(例如 &x + 1 == &y 可能意外为 true)。它不会产生未定…
无法使用另一个翻译单元的函数指针初始化静态结构?
Python 文档声称以下内容在“某些平台或编译器”上不起作用: int foo(int); // Defined in another translation unit. struct X { int (*fptr)(int);…
LLVM 编译器 2.0 错误?
当使用 LLVM 编译器编译以下代码时,它无法正确运行。 (i 没有增加。) 使用 GCC 4.2 编译时可以正确运行。 这是LLVM编译器的错误吗? #include #inc…
重新分配从函数返回的值会产生段错误
我有一个 C 语言的 LDA 代码,我正在尝试调试它,并且我已经绞尽脑汁有一段时间了。 lda_model *model = NULL; model = malloc(sizeof(lda_model)); m…
ctags 仅适用于 c99
我一直在浏览 ctags 手册页,但没有找到任何内容告诉 ctags 仅记录 c99 头文件 的原型。 本质上,我有 C 和 C++ 文件的头文件,但我只想要那些对应于 …
INT_FAST16_MAX 不反映 MSVC 2010 中的类型大小?
C99 将 int_fast16_t 定义为“通常最快且至少具有指定宽度的整数类型”,而 Microsoft 在 MSVC 2010 中将其定义为 32 位整数: typedef char int_fast…
函数的隐式声明 - C99
我目前使用的是 Xcode 4,在我的 .pch 文件中我有这个宏: #define localize(s) NSLocalizedString((s), nil)。 当我尝试在某些 .m 文件中使用此宏时…