-
linux – 为什么gcc在调用“main”之后在程序中放置一个“halt”指令?
所属栏目:[Linux] 日期:2021-01-24 热度:70
当在 Linux / i386系统上看到由gcc生成的精灵可执行文件时,似乎在调用“main”之后,在“nop”填充之前,它会放置一个停止指令(0xf4),例如: │ ....... ! entrypoint:│ ....... ! xor ebp, ebp│ 80482e2 ! pop esi│ 80482e3 ! mov ecx[详细]
-
zsh提示 – 检查是否有任何后台作业
所属栏目:[Linux] 日期:2021-01-24 热度:165
我自定义我的zsh提示符,并找到以下内容来检查是否有任何后台作业: if [[ $(jobs | wc -l) -gt 0 ]]; then # has background job(s) number_jobs=J:${cyan}%j${no_color}else # no background job(s) number_jobs=fi 我所面临的问题是,只有当我打[详细]
-
为什么Linux系统调用返回类型“long”?
所属栏目:[Linux] 日期:2021-01-24 热度:85
我正在阅读 Linux内核开发,第3版,了解内核实现和设计.第5章是关于系统调用.作者显示了使用SYSCALL_DEFINE0宏定义的系统调用声明的示例,该宏在该特定示例中展开为: asmlinkage long sys_getpid(void) 他进一步说: […] For compatibility between 32- and 64[详细]
-
为什么/usr/include/linux/stddef.h为空?
所属栏目:[Linux] 日期:2021-01-24 热度:83
这个头文件应该定义NULL或者size_t等宏,但是我发现/usr/include/ linux/stddef.h是空的?为什么? 标头的实际位置是实现定义的.你看的不是典型的 stddef.h由gcc包含您可以通过以下方式找出系统所在的位置: gcc -E - #includestddef.h | grep stddef.h 这相当[详细]
-
linux – 有没有办法知道ubuntu中文件的创建时间?
所属栏目:[Linux] 日期:2021-01-24 热度:56
我正在使用ubuntu,并想知道一个文件的创建时间,即使它被修改或访问? 不幸的是,Unix不存储文件的创建时间. 所有你能够使用stat是 上次访问的时间 上次修改的时间 最后状态变化的时间 注意:使用文件系统类型ext4 crtime可用![详细]
-
Linux上的C# – 基于使用单声道经验的人都有意见?
所属栏目:[Linux] 日期:2021-01-24 热度:181
如果您是 Linux用户,是否值得学习C#?有Mono,但如果他们开始亏钱,它似乎注定要始终处于曲线后面,持续的MS行动威胁. 目前,我更倾向于Java,因为它完全是GPLed,并没有软件专利的主要威胁.它已经有一个大的oss社区背后,在服务器上有良好的声誉,而C#仍然需要证明自[详细]
-
linux – 可以在套接字上取消收听吗?
所属栏目:[Linux] 日期:2021-01-24 热度:70
调用listen(fd,backlog)后,可以在套接字上取消挂机吗? 编辑:我的错误不让自己清楚.我想暂时无法在套接字上听.调用close()将使套接字处于M2LS状态,并阻止我重新打开它(或者更糟的是,一些恶意程序可能会绑定到该套接字) 暂时不听取意见将是一种方式(可能不是[详细]
-
在Linux上的Java / C应用程序的共享内存IPC的良好替代
所属栏目:[Linux] 日期:2021-01-24 热度:119
我目前在 Java和C应用程序之间使用IPC共享内存,但寻找更方便的替代方案. 有人建议一个更好的方法,具有相同的性能和速度? 谢谢! 这取决于你如何计划让你的应用程序进行交互.在POSIX环境中,您具有管道,共享内存,套接字,信号量和消息队列.看到这个问题: Compa[详细]
-
linux – 如何在屏幕上完全禁用铃声(视觉和音频)
所属栏目:[Linux] 日期:2021-01-24 热度:140
在屏幕上,有没有办法完全禁用铃声? 我知道你可以切换到音响铃声,而不是视觉铃声,并已经做了这一点,并且也没有指定腻子铃,所以我听不到任何东西,只要一个窗口有一个钟,我看到一个恼人的弹出窗口其他窗口说“窗口1中的铃”等等. 任何想法如何摆脱它? 要永久禁[详细]
-
linux – 什么是汇编中的%gs
所属栏目:[Linux] 日期:2021-01-24 热度:105
void return_input (void){ char array[30]; gets (array); printf(%sn, array); } 在gcc中编译之后,此函数将转换为以下程序集代码: push %ebpmov %esp,%ebpsub $0x28,%espmov %gs:0x14,%eaxmov %[详细]
-
linux内核 – Copy_from_user的内部工作
所属栏目:[Linux] 日期:2021-01-24 热度:104
有没有人可以解释一下copy_from_user函数是如何工作的?它是否使用任何缓冲区,还是有内存映射完成,考虑到内核有权访问用户空间mem的事实. copy_from_user()的实现高度依赖于体系结构. 在x86和x86-64上,只需直接从用户空间地址读取并写入内核空间地址,同时临时[详细]
-
linux – 使用这个bash文件名提取技术?
所属栏目:[Linux] 日期:2021-01-24 热度:170
我有一部分bash脚本正在获得一个文件名,而不是扩展名,但是我正在想知道这里真正发生了什么.什么是“%%”?有人可以详细说明bash在幕后做什么吗?这种技术如何在一般的基础上使用? #!/bin/bashfor src in *.tif do txt=${src%%.*} tesseract ${src} ${txt} do[详细]
-
linux – 对象文件的objdump输出中的标志
所属栏目:[Linux] 日期:2021-01-24 热度:123
某些对象文件上有objdump的输出: $objdump -h main.omain.o: file format elf32-i386Sections:Idx Name Size VMA LMA File off Algn 0 .text 0000000b 00000000 00000000 000[详细]
-
系统调用程序在linux上实际发生了什么?
所属栏目:[Linux] 日期:2021-01-24 热度:81
灵感来自于这个问题 How can I force GDB to disassemble? 并与此相关 What is INT 21h? 在linux下如何实际发生系统调用?执行调用时会发生什么,直到实际的内核程序被调用? 假设我们在讨论x86: ID of the system call存入EAX寄存器 系统调用所需的任何参数[详细]
-
linux – Font Awesome和i3bar
所属栏目:[Linux] 日期:2021-01-24 热度:204
我想给我的i3bar添加fontawesome图标.我通过yaourt安装了“ttf-font-awesome”软件包,并将必要的unicode字符添加到i3status配置中,并将字体pango添加为“FontAwesome”到我的i3bar配置.图标应该显示,但所有显示的都是unicode字符.有没有一个特定的软件包我需[详细]
-
initrd并启动Linux内核
所属栏目:[Linux] 日期:2021-01-24 热度:84
据了解,initrd是一个可以在RAM中加载的小图像.它用于引导具有所有可加载模块的完整内核.作为此过程的一部分,我们需要vmlinuz内核映像,该映像是bz Image的重命名版本. 是否可以引导内核而不创建initrd映像? initrd / initramfs是可选的,不是必需的. bzImage是[详细]
-
linux – NPTL和pthread令人困惑
所属栏目:[Linux] 日期:2021-01-24 热度:140
NPTL和POSIX线程的基本区别是什么?这两个如何发展? POSIX线程(pthread)不是一个实现,它是以pthread_开头的几个函数的API规范(英文中的标准,在英文中),它们定义在 pthread.h头. POSIX也是一套规格. NPTL现在在Linux下的GNU Libc中,并且(或至少尝试非常困难)P[详细]
-
awk中的字段分隔符可以包含多个字符吗?
所属栏目:[Linux] 日期:2021-01-24 热度:133
可以使用由多个字符组成的字段分隔符吗?就像我想要分开的,它们之间包含引号和逗号. “学校”,“大学”,“城市” 所以在这里我想把我的FS设为“,”.但是当我定义我的FS时,我会变得有趣的结果.这是我的代码片段. awk -F, {for(i=1;i=NF;i++) { if($i~[a-z0-9],[详细]
-
linux内核 – 从linux内核模块访问串行端口
所属栏目:[Linux] 日期:2021-01-24 热度:90
你好 Linux内核驱动程序大师! 我正在为使用串行接口进行配置的摄像机编写一个v4l2驱动程序.我想让驱动程序配置相机,因为它保持客户端代码在相机型号之间一致.问题是:从驱动程序模块访问摄像机串行接口的最佳方式是什么? 从我听到的,从内核驱动程序访问文件[详细]
-
如何在linux上创建虚拟CAN端口? (C )
所属栏目:[Linux] 日期:2021-01-24 热度:142
我想创建一个可以模拟CAN端口的程序,用于另一个大的应用程序的测试目的.程序应通过该虚拟CAN发送先前记录的数据.任何人有这样的经验吗? 我正在考虑建立虚拟COM,并发送包含在CAN帧中的数据.可以工作吗我怎么能在linux上建立虚拟COM?发现这个线程Virtual Seri[详细]
-
linux – 管道输出切割
所属栏目:[Linux] 日期:2021-01-24 热度:139
我试图获取执行脚本的 shell的名称. 为什么 echo $(ps | grep $PPID) | cut -d -f4 工作时间 echo ps | grep $PPID | cut -d -f4 才不是? 原因是这样 echo ps 只打印字符串ps;它不运行程序ps.您的命令的更正版本将是: ps | grep $PPID | cut -d -f4 编辑添[详细]
-
linux – 静态连接图书馆的专业和缺点是什么?
所属栏目:[Linux] 日期:2021-01-24 热度:53
我想发布一个我开发的应用程序,作为对 Linux和Windows的兴趣.此应用程序取决于boost(和可能的其他库).这种应用程序的规范(象棋引擎)是仅提供可执行文件和可能的一些帮助文件. 我很难,静态链接库是一个好主意,因此可执行文件不会有任何依赖关系.所以最终用户只[详细]
-
linux – 在Ubuntu服务器12.04.4上编译Node.js v0.11.12-release错误
所属栏目:[Linux] 日期:2021-01-24 热度:60
我是从git repo克隆node.js并尝试编译v0.11.12-release,但是有一个错误,我不知道如何解决它.以下是日志. tericky@XXXXXXXX:/home/gitclone/node$make make -C out BUILDTYPE=Release V=1 make[1]: Entering directory `/home/gitclone/node/out’ flo[详细]
-
linux – 可以提高syslog性能吗?
所属栏目:[Linux] 日期:2021-01-24 热度:164
我们在 Linux上有一个使用 syslog机制的应用程序.经过一个星期的努力找出为什么这个应用程序运行速度比预期的慢,我们发现如果我们删除了syslog,并且直接写入一个日志文件,性能就会大大提升. 我明白为什么syslog比直接文件写入慢.但我想知道:有没有办法配置sy[详细]
-
linux – 在makefile中处理管道及其退出状态的最佳方式
所属栏目:[Linux] 日期:2021-01-24 热度:77
如果命令失败,例如 gcc,它将退出… gccgcc: fatal error: no input filescompilation terminated.make: *** [main.o] Error 4 但是,如果我有一个管道,则管道中最后一个命令的退出状态将被采用.例如,gcc |猫不会因为猫成功而失败. 我知道整个管道的退出代码存[详细]
