c++独立文件
c++ separate files?
我的问题是,当你编译你的c++程序,为什么它都放在一个exe文件?文件可能会变得太大。您会使用dll库来缩小大小,还是有其他文件可以制作?我只是想知道如何制作一个使用单独文件运行的程序。
(编辑)我只是不希望所有的在一个文件。文件最终可能会变得太大,计算机无法处理,对吧?一定有办法把这些文件分开。就像在java中一样,一切都在一个类文件中,这看起来更容易和更有效。像FAT32这样的驱动器不能存储大于4gb的文件,所以它们需要一个更细分的程序。我看了看我的游戏《传送门》,它的exe是100KB,它有大约100个dll文件!
回答你的问题,是的。如果您愿意,您完全可以将程序拆分为单独的DLL文件。
我看到一些开发人员将实用程序函数编译成一个单独的公共DLL文件,可以作为参考包含在其他项目中。这样就可以从它调用它的对象和方法。
事后看来,编译后的代码相对较小。二进制数据确实消耗了最多的空间:视频、图像、模型、声音等。尽管对于较小的程序来说,将这些资源直接打包到可执行文件中是可能的,也是常见的,但由于许多显而易见的原因,这通常不是一个好主意。最后,对于今天的技术来说,大型可执行文件并不是一个大问题。对于较小的程序,我不会担心。项目越大,设计开发就越重要。
太大了?如果是由于存储空间的限制,那么将它分割成多个文件将不会给你带来任何好处。除非您以某种方式超出了平台上文件的最大大小(例如某些32位平台上的2GB限制),这似乎是不太可能的,否则您可能担心的是一个无关紧要的问题。
您可以通过关闭编译器中的调试选项,在各种平台上"剥离"它,设置优化设置以优化代码大小而不是执行速度等来减少生成的可执行文件的大小。
将一个exe文件分割成几个文件的方法(在Windows上)是,正如OP建议的那样,使用dll。
评论者是正确的,这实际上不会减少磁盘空间,也不会节省任何内存,但是将应用程序拆分为多个文件还有其他原因。例如,共享代码(单个dll可以被多个应用程序使用),或者帮助应用程序更快地加载(仅在实际需要时加载dll)。
- 通过命令行在Visual Studio中编译单个独立文件
- 来自C++代码的独立可执行文件
- 为许多类可能需要的所有常量变量制作独立的头文件是否是一种很好的做法?
- 独立 exe:磁盘上保存配置文件和日志的位置
- Cython:编译独立的静态可执行文件
- 有什么理由更喜欢从 IDE 中运行应用程序而不是运行独立的可执行文件?
- 如何连接两个文件夹/项目的生成文件,这两个文件夹/项目必须一起运行且独立运行
- 当类方法不进行时,为什么从标头文件中的独立方法需要为命名空间资格
- Visual Studio 2015 C++ 将独立的 DLL 文件添加到项目中
- 如何通过 g++ 编译独立的可执行文件
- 如何实现独立于平台的异步文件写入
- C++:如何保存独立于平台的二进制文件
- 打开文本文件并读取一个带有空格的字符串,然后将两个独立的int放入一个结构中
- 如何一次编译多个独立的CPP文件
- 使用#include和Inclusion Guards的独立文件中的C++继承
- 执行一个新的完全独立的进程,该进程封装在一个可执行文件中,而不需要为独立进程将文件写入磁盘
- Qt自动制作独立的include、ui和资源文件夹
- 带有stlport_shared的NDK用于独立二进制文件
- 如何使用生成文件独立编译和更新一个文件夹中的所有文件
- 编写图像到视频文件独立安装编解码器