小编典典

Linux上的C ++开发-我从哪里开始?

linux

我决定不安装Windows,现在将Debian作为默认操作系统运行。我一直在Windows中编写代码,尤其是在Visual
Studio中编写代码。我目前正试图习惯于在Linux下编译我的代码。

尽管我仍然有很多文档需要阅读,并且不要期望你们对我来说太容易了,但仍然可以从入门那里获得一些指导。我有一些特定的问题,但随时可以提出/建议有关此主题的其他任何内容。

  • 关于创建make文件的推荐指南,如何从该makefile进行编译(我自己叫g ++,我使用“ make”吗?)
  • 查看其他linux软件,它们似乎几乎总是有一个“配置”文件。它到底是做什么的?它仅检查是否已安装所需的库,还是仅检查需求?
  • 如何链接库,这与我的makefile或g ++参数有什么关系?在Windows中,我将编译该库,包括一些头文件,告诉我的链接器要链接的其他lib文件,然后复制dll文件。这个过程在Linux中到底如何工作?
  • 对代码编辑器的建议?我目前正在使用nano,并且听说过vim和emacs,但不知道它们彼此之间有什么好处。还有其他的吗?为什么我会在前三个中考虑它们呢?注意:我不是在寻找IDE。

非常感谢任何帮助,指向指南和文档的链接(最好是针对初学者的链接)!


阅读 462

收藏
2020-06-03

共1个答案

小编典典

关于创建make文件的推荐指南,如何从该makefile进行编译(我自己叫g ++,我使用“ make”吗?)

您可以通过调用“ make”从makefile进行构建。在makefile中,您可以使用g ++和ld进行编译和链接。

查看其他linux软件,它们似乎几乎总是有一个“配置”文件。它到底是做什么的?它仅检查是否已安装所需的库,还是仅检查需求?

这是一个脚本,通常用于根据用于构建的环境来设置各种内容。有时,它只是一个基本的shell脚本,而有时它会调用诸如Autoconf之类的工具来发现构建时可用的内容。通常,“配置”脚本也是用户指定要构建或排除的各种可选内容的地方,例如对实验功能的支持。

如何链接库,这与我的makefile或g
++参数有什么关系?在Windows中,我将编译该库,包括一些头文件,告诉我的链接器要链接的其他lib文件,然后复制dll文件。这个过程在Linux中到底如何工作?

ld是GNU链接器。您可以单独调用它(这是大多数makefile最终都会执行的操作),也可以有g 委托给它。传递给g
和ld的选项确定在哪里寻找包含的头文件,要链接的库以及如何输出结果。

对代码编辑器的建议?我目前正在使用nano,并且听说过vim和emacs,但不知道它们彼此之间有什么好处。还有其他的吗?为什么我会在前三个中考虑它们呢?注意:我不是在寻找IDE。

Vim和Emacs是非常灵活的编辑器,支持多种不同的用法。使用对您而言最合适的方法,尽管我建议您可能需要一些最小的内容,例如语法突出显示。

2020-06-03