Tag: linux

为什么需要.bss段?

我所知道的是,全局variables和静态variables存储在.data段中,未初始化的数据在.bss段中。 我不明白的是为什么我们有未初始化variables的专用段? 如果未初始化的variables在运行时分配了一个值,该variables是否仍然存在于.bss段中? 在下面的程序中, a在.data段中,而b在.bss段中; 那是对的吗? 如果我的理解错误,请纠正我。 #include <stdio.h> #include <stdlib.h> int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9}; int b[20]; /* Uninitialized, so in the .bss and will not occupy space for 20 * sizeof (int) */ int main () { ; } 另外,请考虑下面的程序, #include <stdio.h> #include <stdlib.h> int […]

多less个套接字可能?

有没有人知道现代标准根服务器上有多less个tcp-socket连接是可能的? (每个连接通常都有较less的stream量,但是所有连接必须始终保持运行状态。) 编辑:我们将使用Linux服务器。

如何在Linux中使用共享内存

我的一个项目有点问题。 我一直在试图find一个使用fork()共享内存但是没有成功的例子。 基本上情况是,当用户启动程序时,我需要在共享内存中存储两个值: current_path是char * , file_name也是char * 。 根据命令参数的不同,使用fork()启动新进程,并且该进程需要读取和修改存储在共享内存中的current_pathvariables,而file_namevariables是只读的。 有没有一个很好的教程共享内存与示例代码(如果可能),你可以指示我? 谢谢,bleepzter

在git clone期间无法find'https'的远程助手

我无法克隆HTTPS存储库。 我可以克隆SSH回购罚款,但不HTTPS回购。 我无法testingGIT协议,因为我在企业防火墙后面。 这是我想要做的: $ git clone https://github.com/nvie/gitflow.git Cloning into gitflow… fatal: Unable to find remote helper for 'https' 到目前为止,我已经尝试了以下(基于Googlesearch) 通过apt-get清除和安装Git 通过apt-get安装Git的build-deps 安装curl开发库 安装expat库 下载Git源码和build筑使用: ./configure –prefix=/usr –with-curl –with-expat 还尝试指向curl二进制configuration( ./configure –prefix=/usr –with-curl=/usr/bin/curl ) 我已经尝试了一切,我可以在互联网上find没有运气。 任何人都可以帮我吗? Git版本= 1.7.6.4 OS = Ubuntu 11.04

ld找不到现有的库

我试图在Debian lenny系统上用g ++连接一个应用程序。 ld抱怨找不到指定的库。 这里的具体例子是ImageMagick,但是我也有一些其他类似的问题。 我打电话给链接器: g++ -w (..lots of .o files/include directories/etc..) \ -L/usr/lib -lmagic ld抱怨: /usr/bin/ld: cannot find -lmagic 但是,libmagic存在: $ locate libmagic.so /usr/lib/libmagic.so.1 /usr/lib/libmagic.so.1.0.0 $ ls -all /usr/lib/libmagic.so.1* lrwxrwxrwx 1 root root 17 2008-12-01 03:52 /usr/lib/libmagic.so.1 -> libmagic.so.1.0.0 -rwxrwxrwx 1 root root 84664 2008-09-09 00:05 /usr/lib/libmagic.so.1.0.0 $ ldd /usr/lib/libmagic.so.1.0.0 linux-gate.so.1 => (0xb7f85000) […]

linux / unix进程的最高内存使用率

是否有一个工具可以运行命令行并报告总共使用了多less内存? 我正在想象类似于/ usr / bin / time的东西

stdout线程安全在Linux上的C?

在Linux上使用printf线程安全写入标准输出? 那么使用底层write命令呢?

为什么我不能在Linux上find<conio.h>?

可能重复: 如何在Linux中实现C的getch()函数? 我一直在寻找一个Linux版本的conio.h头文件,但没有find任何… 我使用gcc和文本编辑器Geany来编译我的C代码。 有没有办法替代它的function? 例如, getch() 谢谢

如何在C中设置套接字超时进行多个连接?

我正在写一个简单的程序,使多个连接到不同的服务器进行状态检查。 所有这些连接都是按需build立的。 最多可同时创build10个连接。 我不喜欢每个套接字一个线程的想法,所以我将所有这些客户端套接字都设置为Non-Blocking,然后将它们放入一个select()池中。 它工作得很好,直到我的客户抱怨说,等待时间太长,才能得到目标服务器停止响应的错误报告。 我在论坛上查了几个主题。 有人build议可以使用alarm()信号或在select()函数调用中设置超时。 但我正在处理多个连接,而不是一个。 当发生进程宽度超时信号时,我无法区分所有其他连接之间的超时连接。 有无论如何改变系统默认的超时时间?

sed中的环境variablesreplace

如果我从脚本运行这些命令: #my.sh PWD=bla sed 's/xxx/'$PWD'/' … $ ./my.sh xxx bla 没事。 但是,如果我运行: #my.sh sed 's/xxx/'$PWD'/' … $ ./my.sh $ sed: -e expression #1, char 8: Unknown option to `s' 我在教程中看到,要从shell中replace环境variables,你需要停止,并且'out quote' $varname部分,这样它就不会被直接replace,这就是我所做的,只有当variables被定义之前。 我怎样才能让sed识别$var作为一个环境variables,因为它是在shell中定义的?