我正在阅读coreutils源代码来学习linux下的编程。
我发现,在大多数像ls.c、cat.c这样的程序中,它们在前几行调用宏函数initialize_main()。因此,我查看了system.h以找到实现:
/* Redirection and wildcarding when done by the utility itself.
Generally a noop, but used in particular for native VMS. */
#ifndef initialize_main
# define initialize_main(ac, av)
#endif
我不明白
我在C++ on Win32上工作了几年之后,我刚刚开始了Linux编程(Red )。所以我并不是在寻找编程的基本知识。相反,我希望跟上Linux编程世界的发展速度,比如软件包等。换句话说,我需要知道中的一切,而不需要花费3K。对于如何快速(而且相对便宜)获得这些知识,有什么想法吗?
更新:我习惯于在.exe上做的事情,比如使用VC++构建VC++和dll,创建安装脚本等等,只是在Linux上所做的事情有所不同。他们使用诸如yum、make和make等东西。在windows世界中我认为理所当然的依赖者经常在做linux时将我发送到google。是否有一套新的技能,我可以浏览,或者这是一个更多的
我在学习汇编语言。我从PaulA.Carter的PC Assembly Language开始,它使用NASM ( Netwide )。然后在中间我切换并开始阅读使用MASM的Introduction to 80×86 Assembly Language and Computer Architecture。
在NASM中,我用来编写,用于初始化字节。
db 110101b
在MASM中我正在使用
字节1101b
我在看书。因为这些是汇编程序指令,所以对于每个汇编程序来说,它们是不同的。对吗?这些汇编程序开发人员不遵循这些指令的标准吗?因为,他们知道助记符是CPU特有的。所以,用汇编语言学习
我正在读Unix编程环境.There是一个示例程序
echo "time is 'date'"
输出为
time is {current time}
但是在ubuntu的bash中,它并没有给出输出,因为expected.It打印了整行
time is 'date'
为什么会这样呢?读一本过时的书来学习Linux操作系统可以吗?
我正在从windows编程(我指的是使用Windows API)转向Linux编程。
对于Windows编程,我们拥有的选项是Win32API (MFC只是相同的C++包装器)。
我想知道是否有类似于Linux API (相当于WINAPI)的东西直接暴露给程序员?我在哪里能找到推荐信?
以我对POSIX库的一点了解,我看到它围绕着( Linux API )的一部分。但是如何创建应用程序呢? POSIX并不提供这种功能。我知道有很多第三方Widget工具包,如gtk、Qt等,但我不想使用封装Linux的库。我想学习使用“”。
如果有什么我应该知道的,请告诉我。任何熟悉Windows和Linux
我在程序集中看到过Hello程序的例子,一个在MacOS中,另一个在Linux中。但是它们之间的区别是,MacOS使用绝对内存位置进行系统调用,而Linux不使用。为什么MacOS不能只使用1或内核用于系统调用write的任何数字
; MacOS
mov rax, 0x02000004 ; system call for write
; Linux
mov rax, 1 ; system call for write