关于GCC、Linux的一些资料

关于GCC、Linux的一些资料,gcc,linker,Gcc,Linker,我是GCC和Linux的新手。我几乎在所有课程项目中都使用了VisualStudio,所以当切换到GCC和Linux时,我感到非常痛苦,尤其是在编译一些项目时,它会抱怨一些错误 我想我应该做点什么来摆脱这种烦人的局面。但我不知道如何获取一些资料,可能是在链接器、GCC标志、库上,有人能指出我应该学习或注意什么吗 非常感谢必须是您的第一个参考资料。您可以获得其在线/pdf版本。有许多GNU工具的在线文档: Linux手册页和信息页是最重要的资源之一,也是Windows用户最困惑的资源之一(

我是GCC和Linux的新手。我几乎在所有课程项目中都使用了VisualStudio,所以当切换到GCC和Linux时,我感到非常痛苦,尤其是在编译一些项目时,它会抱怨一些错误

我想我应该做点什么来摆脱这种烦人的局面。但我不知道如何获取一些资料,可能是在链接器、GCC标志、库上,有人能指出我应该学习或注意什么吗


非常感谢

必须是您的第一个参考资料。您可以获得其在线/pdf版本。

有许多GNU工具的在线文档:


Linux手册页和信息页是最重要的资源之一,也是Windows用户最困惑的资源之一(SCNR:因为它是相当好的、完整的、有用的文档,免费提供并预装在系统上)。您可以通过与程序结合使用的命令行
man
info
来访问它们,例如:

man gcc
man fopen
info gcc
有时,您需要为man或info页面安装额外的doc包。例如,gcc手册可以作为信息页面提供

您需要学习的第二件事是查看正确工具的文档。VisualStudio至少执行了十几个UNIX程序的任务,因此请阅读文档的动机部分,并尝试了解什么程序执行什么任务。也就是说:在Linux下,您的工具链中通常需要一个编辑器(vim)、一个编译器(gcc)、一个链接器(ld)、归档索引器(ranlib)和一个调试器(gdb),即使您不需要手动调用所有这些


此外,您应该了解autotools(
autoconf
automake
)和
libtool
,因为它们使您的工作更轻松。

我不确定您是否理解什么是痛苦的。这是对Linux系统库的理解,还是仅仅因为在Linux上开发软件很痛苦,因为您没有了解经过实验的Linux开发人员是如何每天甚至每分钟工作的