【发布时间】:2011-10-25 06:36:56
【问题描述】:
我是 GCC 和 Linux 的新手。我几乎所有的课程项目都在使用Visual Studio,所以在切换到GCC和Linux时,我感到很痛苦,尤其是在编译一些项目时,它会抱怨一些错误。
我想我应该做点什么来摆脱这种烦人的情况。但是我不知道如何获取一些资料,可能是关于链接器、GCC 标志、库的资料,是否有人可以指出我应该学习或注意什么?
非常感谢
【问题讨论】:
我是 GCC 和 Linux 的新手。我几乎所有的课程项目都在使用Visual Studio,所以在切换到GCC和Linux时,我感到很痛苦,尤其是在编译一些项目时,它会抱怨一些错误。
我想我应该做点什么来摆脱这种烦人的情况。但是我不知道如何获取一些资料,可能是关于链接器、GCC 标志、库的资料,是否有人可以指出我应该学习或注意什么?
非常感谢
【问题讨论】:
GCC user manual 必须是您的第一个参考..您可以获取其在线/pdf 版本here..
【讨论】:
有很多 GNU 工具的在线文档:
【讨论】:
Linux 手册页和信息页是最重要的资源之一,也是最让 Windows 用户感到困惑的资源之一(SCNR:因为它是相当不错、完整且有用的文档,免费提供并预装在系统上)。您可以通过结合程序的命令行man 和info 命令来访问它们,例如
man gcc
man fopen
info gcc
有时,您需要为手册页或信息页安装额外的 -doc 包。例如,gcc 手册以信息页面的形式提供。
您需要学习的第二件事是查看正确工具的文档。 Visual Studio 执行了至少十几个 UNIX 程序的工作,因此请阅读文档的动机部分并尝试了解什么程序执行什么工作。即:在 Linux 下,您的工具链中通常需要一个编辑器 (vim)、一个编译器 (gcc)、一个链接器 (ld) 和归档索引器 (ranlib) 和一个调试器 (gdb),即使您不需要调用 all这些都是手工制作的。
此外,您应该了解自动工具(autoconf 和 automake)和 libtool,因为它们使您的工作变得很多更轻松。
【讨论】:
我不确定你的痛苦是什么。是对 Linux 系统库的理解,还是只是在 Linux 上开发软件很痛苦,因为你没有意识到 Linux 开发者是如何一天天甚至分分钟工作的?
【讨论】: