12得票4回答
简单的 libtool 替代方案?

对于旧式Makefile我非常满意,现在正在寻找一个简单的libtool替代方案。我不想切换到automake,并且当我直接使用libtool时总是遇到问题。最新的问题是'unsupported hardcode properties',我对缺乏完整文档感到厌烦,因为它只是告诉我这次又出了什么...

34得票3回答
链接共享库到静态库:必须对静态库进行不同于应用程序链接时的编译吗?

至少在Linux和Solaris上,静态库实际上只是一堆编译好的 .o 文件放在一个大文件中。编译静态库时,通常省略 -fpic 标志,因此生成的代码是位置相关的。 现在假设我的静态库是 B。我已经构建好了它,并拥有了所生成的 .a 文件,它实际上只是所有位置相关的 .o 文件的一大堆。现在...

9得票1回答
在Linux(CentOS)下的C语言中,我在运行时遇到了“无法分配请求的地址”的错误。

当我指定这个地址时,它会显示“无法分配请求的地址”。但是当我使用本地地址(127.0.0.1)时,它会接受。为什么呢? char* hostname = "192.168.1.8"; int sockfd; struct sockaddr_in my_addr; // my add...

11得票3回答
将表达式的部分标记为likely()/unlikely()是否合理?

假设我有一个表达式,其中只有一部分非常不可能,但其他部分在统计上是中立的: 假设我有一个表达式,其中只有一部分非常不可能,但其他部分在统计上是中立的:if (could_be || very_improbable) { DoSomething(); } 如果我将非常不太可能的代码放在u...

15得票4回答
返回值周围的括号 - 为什么?

我经常看到像这样的代码(C、C++,有时候是Java):return (value); 我并没有看到这些括号的任何好处。所以我的问题是,程序员是否假设return是一种带有返回值作为参数的函数,还是真的存在这些括号有意义的情况? 我知道类似的问题已经在这里被问过了,但那只涉及ANSI C。我...

8得票10回答
使用枚举的一些好例子

我学习C语言时学到了枚举,并且我时不时地通过阅读某些来源来提醒自己。但大部分时间,我从未在我的编程中使用它,因为我的编程兴趣集中在算法问题解决上,所以我不确定在哪里可以使用枚举。 有人能提供一些使用枚举使事情变得更容易的好例子吗? 我会欣赏算法示例,但无论是算法还是非算法示例都可以。

7得票3回答
如何在Linux中打开文件的默认程序

如何在Linux中以编程方式打开文件的默认程序(我使用的是Ubuntu 10.10)。 例如,打开*.mp3将在Movie Player(或其他应用程序)中打开该文件。

39得票8回答
如何将stdout重定向到Windows应用程序中的可见显示器?

我可以访问一个完成"好事"的第三方库。它向标准输出发出状态和进度消息。在控制台应用程序中,我可以很好地看到这些消息。但是在Windows应用程序中,它们只是消失了。 有没有比较简单的方法将标准输出和标准错误重定向到文本控件或其他可见位置?理想情况下,这不需要重新编译第三方代码。它只会在低级别...

10得票7回答
为什么fork后rand()生成的随机数不够随机?

#include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int i =10; /* initialize...

7得票4回答
为什么gmtime被实现成这样?

我偶然发现了Minix的gmtime函数源代码。我对计算自纪元以来的天数得出年份的部分很感兴趣。以下是该部分的核心代码: http://www.raspberryginger.com/jbailey/minix/html/gmtime_8c-source.html http://www.r...