当前位置: 首页 > 面试题库 >

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

于嘉誉
2023-03-14
问题内容

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

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

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

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


问题答案:

关于创建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是非常灵活的编辑器,支持多种不同的用法。使用对您而言最合适的方法,尽管我建议您可能需要一些最小的内容,例如语法突出显示。



 类似资料:
  • 问题内容: 我想知道是否有有效的开源工具在Linux(Ubuntu)上开发C#应用程序。特别是,我必须开发WinForm应用程序。 我知道 Mono项目 ,但从未使用过。您能否建议我在Ubuntu上设置.NET开发环境的最佳工具(IDE,编译器等)是什么? 它是在可在Windows上运行的Linux上开发的软件吗?是否有不同的行为或不兼容? 问题答案: MonoDevelop,与Mono Proj

  • 前端开发者从哪里学 关于前端开发, 独立学习会慢慢地变得没有意义. 前端开发的高级从业人员已经产出足够多的内容, 而你只要通过关注前端"资讯"(简报, 资讯 & 博客), 跟着社区学习就行.

  • 问题内容: 尽管我是Linux的新手,但我对C ++并不陌生。我正在使用CMake来预编译带有某些第三方组件的跨平台游戏引擎,但是我对使用库存在很多疑问。我的问题是如何使用第三方库以及将它们放在哪里。Apt将libs安装在其官方位置(/ usr / local,/ usr / lib / ..),但是我在Windows中使用项目目录中文件夹中的本地libs进行开发。 另外,我需要一个很好的教程来了

  • 问题内容: 所以最近我一直在研究Clojure,我喜欢这种语言。我想看看是否可以在其中制作一个小型Web应用程序,以挑战自己。但是,我绝对没有建立任何与Java相关的Web应用程序的经验。实际上,我实际上对Java没有太多的经验。我从哪说起呢?我在Apache和LAMP堆栈方面拥有丰富的经验,并且我知道在Apache上大多数情况下我只会使用Fast- CGI,但我不知道Java世界中的等效功能(如

  • 问题内容: 我正在尝试开始学习如何创建套接字服务器。我想添加一些有用的功能(例如auth,也许还有其他一些功能)。也许有人可以给我指出一个很好的教程,这将帮助我入门(+也许还有其他一些想法) 问题答案: 看这里:60秒内扭曲的网。这是一组博客文章,逐步描述了如何使用Twisted做很多常见的事情,所有这些都是由Twisted的最大贡献者Jean- Paul Calderone撰写的。这确实是您应该

  • 我正在尝试用Angular和一个基本的REST后端来构建一个项目的前端部分,该后端还可以处理安全问题。 我对Spring有非常基本的了解,但还没有真正使用Spring Security。 我正试图找到一种方法来构建一个安全的简单REST后端。我在网上搜索了很多,找到的主要内容是本教程:https://spring.io/guides/tutorials/spring-security-and-an