Tag: linux

为什么这个程序打印“叉”4次?

为什么这个程序打印“叉”4次? #include <stdio.h> #include <unistd.h> int main(void) { fork() && (fork() || fork()); printf("forked!\n"); return 0; }

我如何链接到特定的glibc版本?

当我在Ubuntu Lucid 10.04 PC上编译一些东西的时候,它会和glibc链接起来。 Lucid使用2.11的glibc。 当我在另一台PC上运行这个二进制文件时,该命令失败,说没有glibc 2.11 … 据我所知glibc使用符号版本。 我可以强制gcc链接到一个特定的符号版本? 在我的具体使用中,我尝试为ARM编译一个gcc交叉工具链。

C ++:我应该使用哪个正则expression式库?

我正在开发一个基于Linux的系统上运行的商业(而不是开源)C ++项目。 我需要在C ++代码中做一些正则expression式。 (我知道:我现在有两个问题。) 问题:经常从C / C ++推荐正则expression式的人使用哪些库? 快速search引起了我的注意: 1)Boost.Regex(我需要阅读Boost软件许可证,但这个问题不是关于软件许可证) 2)C(不是C ++)POSIX正则expression式(#include <regex.h>,regcomp,regexec等) 3) http://freshmeat.net/projects/cpp_regex/ (我对此一无所知;似乎是GPL,因此在这个项目上不可用)

gcc中共享库函数的静态链接

如何在gcc中静态链接共享库函数?

如何输出彩色文本到Linuxterminal?

如何将彩色字符打印到支持它的Linuxterminal上? 如何判断terminal是否支持颜色代码? 我为这个程序使用C ++。

debugging在客户框中生成的核心文件

我们通过在客户的机器上运行我们的软件来获取核心文件。 不幸的是,因为我们一直使用-O2 进行编译而没有debugging符号,这导致了我们无法弄清楚为什么会崩溃的情况,我们修改了构build,现在他们生成了-g和-O2。 然后,我们build议客户运行-g二进制文件,以便更易于debugging。 我有几个问题: 从Linux发行版(而不是在Dev中运行的发行版)生成核心文件时会发生什么情况? 堆栈跟踪是否有意义? 有什么好的书籍可以在Linux或Solaris上进行debugging吗? 面向对象的例子会很棒。 我正在寻找真实的例子,找出为什么一个例程崩溃,作者如何解决问题。 从中级到高级的东西会更好,因为我已经这样做了一段时间了。 一些组装也会很好。 这是一个崩溃的例子,要求我们告诉客户得到一个-g版本。 的二进制文件: Program terminated with signal 11, Segmentation fault. #0 0xffffe410 in __kernel_vsyscall () (gdb) where #0 0xffffe410 in __kernel_vsyscall () #1 0x00454ff1 in select () from /lib/libc.so.6 … <omitted frames> 理想情况下,我想解决为什么确切的应用程序崩溃 – 我怀疑这是内存腐败,但我不是100%确定。 远程debugging是严格禁止的。 谢谢

从命令行将parameter passing给C程序

所以我在Linux中,我想要一个程序接受参数,当你从命令行执行它。 例如, ./myprogram 42 -b -s 那么程序会把这个数字42存储为一个int,并根据它得到的参数-b或-s来执行某些代码部分。

如果指定文件被移动,删除,Linux上的打开文件处理程序会发生什么情况

Linux上的打开文件处理程序会发生什么情况: 移开 – >文件处理程序是否保持有效? 已删除 – >这是否导致EBADF,表明一个无效的文件处理程序? replace为新文件 – >文件处理程序是否指向这个新文件? 通过硬链接replace为新文件 – >我的文件处理程序“跟随”此链接吗? 用一个软链接replace一个新文件 – >我的文件处理程序现在是否打这个软链接文件? 为什么我问这样的问题:我正在使用热插拔硬件(如USB设备等)。 可能会发生,设备(也是/ dev / file)被用户或其他Gremlin重新连接。 处理这个问题的最佳做法是什么?

如何从/ proc / pid / stat中获得应用程序的总CPU使用率?

我想知道如何计算一个进程的总CPU使用率。 如果我做cat /proc/ pid /stat ,我想相关的领域是( 取自lindevdoc.org ): 在用户代码中花费的CPU时间,以jiffies来衡量 在内核代码中花费的CPU时间,以jiffies来衡量 在用户代码中花费的CPU时间,包括来自儿童的时间 在内核代码中花费的CPU时间,包括来自儿童的时间 那么总共花费14到17场的总时间呢?

使用Git保留文件权限

我想按照我的Web服务器的版本控制中所描述的版本控制我的Web服务器 ,通过在/var/www directory创build一个git repo。 我希望能够将我们的开发服务器上的网页内容推送到github上,然后把它放到我们的生产服务器上,然后在游泳池中度过余下的时间。 显然我的计划中的一个扭曲是,Git不会尊重文件许可(我还没有尝试过,现在只是阅读它。)我猜这是有道理的,因为不同的盒子可能有不同的用户/组设置。 但是,如果我想强制传播权限,知道我的服务器configuration相同,我有任何选项? 还是有更简单的方法来处理我想要做的?