gnu相关内容

关联文件中新发行版本的版本号(文档)

我很想知道您在那里如何处理提高版本号的新发行版. 如何处理相关文件(例如手册页等)中的版本号. 该软件是使用gnu工具链构建的,因此可以使用autoconf,automake等并将其用作应用程序的版本号.这样就可以重用信息. git用作vcs. 一种可能性是在Makefile.am中引入一个新的目标,该目标执行sed/awk替换所有关联文件中的版本号和日期.可以在开发新版本 ..
发布时间:2020-05-01 09:40:06 服务器开发

tr命令-如何替换字符串"\ n"使用实际的换行符(\ n)

我想使用tr命令用新行(\ n)替换所有出现的字符串"\ n". 我尝试了tr '\\n' '\n',但这似乎与任何'\'和任何'n' 匹配 解决方案 以下是使用sed的方法: sed 's/\\n/\n/g' 示例用法: 要就地替换文件中所有出现的\n: sed -i 's/\\n/\n/g' input_filename 要通过管道替换所有出现的\n,并将 ..
发布时间:2020-05-01 09:34:30 服务器开发

在Linux上获取机器ID的最佳方法?

对于i386架构,在GNU/Linux中获取唯一机器ID的最佳实践是什么? 除了mac地址之外,还有什么好方法吗? 解决方案 取决于您的内核,可以通过sysfs获得DMI信息. 尝试那些: # cat /sys/class/dmi/id/board_serial xxxxxxxxxxxxxxx # cat /sys/class/dmi/id/product_uuid xxxxx ..
发布时间:2020-05-01 09:27:08 服务器开发

如何在不保留目录结构的情况下压缩目录?

我正在处理一个备份脚本,并且想要压缩文件目录: tar czf ~/backup.tgz /home/username/drupal/sites/default/files 这可以压缩它,但是当我解压生成的文件时,它包括完整的文件结构:这些文件位于home/username/drupal/sites/default/files中. 是否可以排除父目录,以便生成的tar只知道最后一个 ..
发布时间:2020-05-01 09:24:57 服务器开发

libc(glibc)在我们的Linux应用程序中起什么作用?

当我们使用gdb调试程序时,通常会看到在libc(glibc?)中定义的具有奇怪名称的函数.我的问题是: libc/glibc是某些标准C/C ++函数(例如strcpy,strlen,malloc)的标准实现吗? 或者,不仅是如上所述的第一种用法,还是Unix/Linux系统调用(如open,close,fctl)的包装吗?如果是这样,为什么我们不能在没有libc的情况下直接发出系统调用 ..
发布时间:2020-05-01 08:49:45 服务器开发

链接到libcurl时,_end符号消失

在Linux上,D运行时库在确定GC根范围(man 3 end)时依靠_end符号,这实际上与Boehm GC的行为非常相似.但是,在libcurl中链接时,链接器不再找到该符号: $ cat test.c #include extern char _end[]; int main() { printf("%p\n", &_end); return 0; ..
发布时间:2020-05-01 03:54:32 服务器开发

多个已定义符号的C/C ++链接器顺序

如果我在目标文件和库中定义了相同的符号,则GNU链接程序将从目标文件中获取该符号.考虑以下示例: g++ -L"dir/to/lib" -o Executable Test.o foo.o -lMyLib 如果我在foo.cpp和源文件"MyLib"中都定义了具有相同签名的函数foo,则如果我使用此顺序,GNU链接器总是更喜欢前一个. /p> 此行为GNU工具链是否特定?您是否从其他行 ..
发布时间:2020-05-01 03:39:20 C/C++开发

链接共享库时限制符号的可见性

某些平台要求您向链接程序提供共享库的外部符号的列表.但是,在大多数unixish系统上,这不是必需的:默认情况下,所有非静态符号都将可用. 我的理解是,GNU工具链可以选择将可见性限制为仅显式声明的符号.使用GNU ld如何实现? 解决方案 GNU ld可以在ELF平台上做到这一点. 以下是使用链接器版本脚本进行操作的方法: /* foo.c */ int foo() { ..
发布时间:2020-05-01 03:21:26 其他开发

如何确定位置计数器“."的基地址.什么时候VMA和LMA不同?

根据ld手册上的特殊符号. ,即位置计数器. 注意:.实际上是指从 当前包含的对象.通常这是SECTIONS语句, 其起始地址为0,因此为.可以用作绝对地址. 如果 .在部分说明中使用,但是它指的是 从该节开始的字节偏移量,而不是绝对地址. 因此,在这样的脚本中: SECTIONS { . = 0x100 .text: { *(.text) ..
发布时间:2020-04-30 08:34:19 其他开发

gnu汇编程序:获取标签/变量的地址[INTEL SYNTAX]

我有这样的代码: .bss woof: .long 0 .text bleh: ...some op codes here. 现在我想将woof的地址移入eax.用于执行此操作的 intel语法代码是什么?将bleh的地址移到ebx中也是如此. 非常感谢您的帮助! 解决方案 bss节中不能包含任何实际对象.某些汇编程序可能仍然允许您切换到.bss部分,但是您所能做的只是说 ..
发布时间:2020-04-26 14:57:38 其他开发

GNU readline和键绑定

我从GNU getline文档中了解到,它能够将某些回调函数绑定到某些键.我已经知道如何使用rl_bind_key函数将动作绑定到 TAB 键. 但是如何使用它将某些操作绑定到以下键? CTRL + TAB , ESC , PAUSE / BREAK 解决方案 #include #include int my_coo ..
发布时间:2020-04-25 12:08:54 其他开发

每个GNU/Linux发行版上都有Python吗?

我想知道是否在每个G/L发行版上都预装了Python.为什么它在GNU/Linux上如此受欢迎而在Windows上却没有那么流行? 解决方案 并不是所有的GNU/Linux发行版中都包含python,但是大多数流行的Linux家庭用户发行版(例如,Ubuntu和Fedora Core)中都存在python.因为Gnome桌面环境和KDE的大多数应用程序都使用python 2.5+(不是py ..
发布时间:2020-04-23 11:26:53 服务器开发

-D_DEFAULT_SOURCE是做什么的?

以前,我从gcc -std=c99收到警告,提示usleep()被隐式声明.然后我偶然发现了这篇stackoverflow帖子,这使我不得不使用-D_BSD_SOURCE.但是,现在gcc告诉我-D_BSD_SOURCE已被弃用,我应该改用-D_DEFAULT_SOURCE. #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use ..
发布时间:2020-04-23 10:41:03 服务器开发

等效于Linux中的导入库

在Windows C ++中,当您要链接到DLL时,必须提供一个导入库.但是在GNU构建系统中,当您想链接.so文件时,就相当于您不希望使用的dll.为什么是这样?是否有等效的Windows导入库. 注意:我不是说在Windows中使用GNU C ++的情况,在这种情况下您也必须使用导入库.分隔线在Windows C ++和Linux C ++之间. 解决方案 在Windows和Li ..
发布时间:2020-04-23 10:37:59 服务器开发

如何在GNU / Linux中记录使用磁盘的进程或内核活动?

在特定的Debian服务器上,iostat(和类似的)报告正在进行的磁盘写入的意外高容量(以字节为单位)。我无法确定哪些进程正在执行这些写操作。 两个有趣的点: 尝试一次关闭一个系统服务无济于事。磁盘活动保持相当稳定且出乎意料地高。 尽管写了,但似乎没有占用磁盘上更多的整体空间。 这两个让我觉得写作可能是内核正在做的事情,但我不是在交换,所以还不清楚对我来说,Linux可能 ..
发布时间:2018-08-24 17:33:53 服务器开发