我必须学习什么样的软件或编程语言来独立创建没有任何 .dll 或其他格式的单个可执行程序?
任何建议我都会很感激!
我必须学习什么样的软件或编程语言来独立创建没有任何 .dll 或其他格式的单个可执行程序?
任何建议我都会很感激!
它是特定于操作系统的(而不是由语言本身定义的)。阅读有关链接器的更多信息。
您可能想要使用 C++11(或 C++14)并指示您的 C++ 编译器静态链接您的可执行文件。因此,您应该阅读编译器的文档;使用GCC,您可以传递-static
给g++
命令。
您可能还想使用Go 语言。Go 的常用编译器试图生成静态链接的可执行文件。
顺便说一句,静态链接的可执行文件仍然有依赖关系,例如它的操作系统内核(可能还有实用程序和一些系统文件):显然,Windows 的静态链接可执行文件不会在 Linux 上运行。
(例如,在 Linux 上,任何使用标准system(3)函数的程序都默默地依赖于/bin/sh
....)
在实践中,我一般不建议静态链接C 标准库,而是 YMMV。
当然,您需要一些源代码编辑器来编写代码(我更喜欢GNU emacs)。有些人正在使用IDE,但我更喜欢显式运行编译命令(可能使用一些构建自动化工具,如GNUmake
)。
(请注意 DevC++ 或 CodeBlocks 是 IDE,而不是编译器)
注意:我推荐阅读操作系统:三个简单的部分(可免费下载,每章都有自己的 PDF 文件)以了解更多关于操作系统的信息。
真正独立的“可执行文件”是您闪存到嵌入式设备上的图像。您的图像可以(但不需要)捆绑一个库,例如作为一种迷你操作系统的 FreeRTOS。除了实际的硬件,您的程序将完全自给自足。
否则,您至少有幸拥有一个操作系统,可以访问您的语言的“运行时”支持库(尽管这通常可以静态链接)和可能的第三方库(通常可能是也静态链接)。
有时,当您尝试自包含时,您会朝着另一个方向走得太远,以至于实际上您的“程序”根本无法执行,而只是要通过 Python 或 Go 或 JavaScript 或 VBScript 解释器传递的脚本。这实际上与自包含相反,尽管如果该语言的实现存在于所有目标平台上,它是很好且可移植的。
在 VM(Java、.NET)上运行的代码是介于两者之间的一种中途之家。
视觉工作室:
Project->'project' Properties
Configuration Properties -> C++ -> Code Generation
Runtime Library
->多线程[调试]
不要使用多线程 [debug] DLL
此外,为 Debug 构建设置 [debug] 而不是为 Release 构建设置 [debug]。您可以使用左上角的“配置”下拉菜单在构建类型之间切换。