小编Lun*_*oms的帖子

如何从给定的文本文件中删除所有空格

我想从给定的文本文件中删除所有空格.有没有可用的shell命令?或者,如何sed用于此目的.

我想要下面的东西:

$ cat hello.txt | sed ....

我试过这个:cat hello.txt | sed 's/ //g'.但它只删除空格,而不是标签.

linux bash sed

64
推荐指数
6
解决办法
23万
查看次数

如何检查存储在变量中的给定文件描述符是否仍然有效?

我有一个文件描述符存储在变量say var.如何在稍后阶段检查该描述符是否有效?

  fdvar1= open(.....);
  fdvar2 = fdvar1;       // Please ignore the bad design

  ....
  // lots of loops , conditionals and threads. It can call close(fdvar2) also.  
  ....

  if(CheckValid(fdvar1)) // How can I do this check  ?
    write(fdvar1, ....);
Run Code Online (Sandbox Code Playgroud)

现在我想检查var1(仍保留打开的描述符)是否仍然有效.任何API都是为了什么?

c linux gcc file-descriptor

44
推荐指数
4
解决办法
5万
查看次数

为什么mmap()比顺序IO更快?

可能重复:
mmap()与读取块

我听说(在互联网上读取它)mmap()比顺序IO更快.它是否正确?如果是,那为什么它更快?

  • mmap() 不按顺序阅读.
  • mmap()具有从盘面本身一样去取read()
  • 映射区域不是顺序的 - 所以没有DMA(?).

那么mmap()实际上应该比read()文件慢吗?我上面的哪些假设是错误的?

c linux mmap dma

39
推荐指数
3
解决办法
2万
查看次数

在Bash中识别接收到的信号名称

收到信号后,我可以使用执行某些命令trap.例:

trap 'echo hello world' 1 2
Run Code Online (Sandbox Code Playgroud)

如果收到任何指定的信号,则显示"hello world".

但是如何打印/识别收到的信号名称?

linux bash shell

33
推荐指数
5
解决办法
1万
查看次数

如何获取GNU Makefile中使用的shell命令的退出状态?

我在执行linux工具时有一个makefile规则.我需要检查工具命令的退出状态,如果该命令失败,则必须中止make.

我试过用$ ?, $$来检查?\ $?makefile中的etc等.但是当makefile运行时,它们会给我语法错误.

这样做的正确方法是什么?

这是Makefile中的相关规则

    mycommand \
    if [ $$? -ne 0 ]; \
    then \
        echo "mycommand failed"; \
        false; \
    fi
Run Code Online (Sandbox Code Playgroud)

linux shell makefile gnu-make

27
推荐指数
2
解决办法
3万
查看次数

如果所有位都为0,那么IEEE浮点值是多少?

如果所有位都为0(例如,我memset将浮点变量设置为全0),gcc中使用的IEEE浮点值是多少?它保证是0.0?

我想其他浮点格式的结果可能会有所不同.但我的问题是特定于与gcc一起使用的IEEE浮点数.

c floating-point

26
推荐指数
1
解决办法
9220
查看次数

如果全局变量初始化为0,它会转到BSS吗?

所有初始化的全局/静态变量都将转到初始化数据部分.所有未初始化的全局/静态变量将转到uninitialed数据部分(BSS).在程序加载时间内,BSS中的变量将获得值0.

如果全局变量显式初始化为零(int myglobal = 0),那么该变量将被存储在哪里?

c gcc

25
推荐指数
2
解决办法
1万
查看次数

Openssl:错误"证书链中的自签名证书"

当我使用openssl API验证服务器证书(自签名)时,我收到以下错误:

错误19在1深度查找:证书链中的自签名证书

根据openssl 文档,这个错误(19)是

"X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:证书链中的自签名证书 - 可以使用不受信任的证书构建证书链,但无法在本地找到根证书."

为什么会出现此错误?我的服务器证书有问题吗?

c linux openssl verify ssl-certificate

20
推荐指数
4
解决办法
10万
查看次数

在主程序运行时替换共享对象(.so文件)

我有一个共享对象gateway.so(在Linux/C中).而a.out应用程序正在使用它.

问题A.

我猜:当进程a.o​​ut启动时,加载器加载gateway.so(我没有使用dl函数dlopen).因此,对gateway.so的所有运行时符号解析都将在内存中进行.它不再需要从磁盘访问gateway.so.

我对吗?

所以我无法用更新版本替换gateway.so,而a.out正在运行,对吧?

问题B

另一个相关的问题:一旦我替换了版本的gateway.so文件,我收到了消息

"a.out:无法解析符号'Test_OpenGateway'"

哪个程序组件(加载器/链接器......)发送此输出?该组件是作为相同进程上下文的一部分执行的吗?

c linux shared-libraries

16
推荐指数
2
解决办法
8159
查看次数

为同一信号设置多个信号处理程序是否有效?

我有两个链接到我的测试应用程序的共享库.这两个库都有信号处理程序SIGINT.

为同一信号设置多个信号处理程序是否有效?我生成SIGINT信号时处理程序将执行哪个顺序?

c linux signals

15
推荐指数
2
解决办法
1万
查看次数