我目前正在为C++使用MSVC,但由于我要改用C语言来编写性能密集型程序(解释器),所以我必须寻找合适的C编译器。
我看过Turbo-C生成的一些二进制文件,即使它很旧,但它们看起来非常简单和优化。
现在我不知道构建解释器最好的编译器是什么,但也许你可以帮助我。我考虑过GCC,但由于我对它了解不多,我不能真正肯定。
发布于 2010-04-11 01:13:07
99.9%a程序的性能取决于你写的代码和你选择的语言。您可以放心地忽略编译器的性能。
坚持使用MSVC...and不要浪费时间:)
发布于 2010-04-11 01:14:10
如果我是你,我会采取一种方法,少担心编译器,多担心自己的代码。以合理的方式编写解释器的代码。然后,分析它,并根据它们所花费的时间来优化斑点。这比使用特定的编译器更有可能产生性能优势。
发布于 2010-04-11 01:13:51
如果你想要一个轻量级的程序,你需要担心的不是编译器,而是你写的代码和你使用的库。大多数编译器会从相同的源代码中产生类似的结果。
例如,将C++与MFC一起使用,这是一个基本的windows应用程序,它的初始大小约为900kB,并迅速增长。使用动态MFC链接将使您的kB降到几百。但通过完全放弃MFC -直接使用Win32 APIs并使用最小的C运行时,在大约25kB或更少的.exe中实现相同的事情相对容易。
因此,丢弃这些库,回到适当的低级C语言(如果您不使用太多“聪明”的特性,甚至可以使用C++ ),您就可以轻松地编写非常紧凑的应用程序。
编辑
我刚刚意识到,我被问题的标题搞糊涂了,开始谈论轻量级应用程序,而不是专注于性能,这似乎是问题的真正主旨。如果你想要高性能,那么不需要特别使用C语言,也不需要迁移到痛苦的开发环境--只要写出好的、高性能的代码就行了。从根本上说,这是关于使用正确的设计和算法,然后分析和优化结果代码,以消除瓶颈和低效。请注意,现在你可以通过切换到多线程方法而不是仅仅专注于原始代码优化来实现更多的bugger by确保你很好地利用了硬件。
https://stackoverflow.com/questions/2614187
复制相似问题