草庐IT

c++ - 在一个 Linux 发行版上使用 g++ 编译的可执行文件在另一个发行版上使用是否有限制?

发行版之间是否存在任何特质或差异会影响在一个发行版上直接使用GCC4.7.x编译的C++二进制文件?我知道理想的情况是在第二个发行版上从源代码编译,但我真的不想担心在我的生产机器上编译新的GCC版本和程序源代码。我是一个相对缺乏经验的Linux用户(因此问题!)并且仍然更喜欢IDE而不是命令行编译,ssh是我真正可以用来访问生产机器的所有东西。代码本身没什么有趣的,但它确实使用了一些操作系统的常用功能,如阻塞套接字等。如有任何建议,我们将不胜感激! 最佳答案 除非二进制文件构建在完全相同的操作系统(包括版本)和完全相同的硬件上,否则

c++ - g++ 4.6.1 编译器错误 : Error: unknown pseudo-op: `.cfi_personality'

我有一个文件,在我的macbookpro上使用g++(4.6.1)运行osx(snowleopard)编译时没有错误或警告。我刚刚将它上传到我们的linux集群(不是由我运行)并尝试在那里编译(也使用gcc4.6.1)。这次我用汇编器出现了很多奇怪的错误信息。如何解释以下错误?g++-I../shared/boost_1_47_0-std=c++0x-O2-c../shared/ft.cpp-o../shared/ft.o/tmp/ccEqihNa.s:Assemblermessages:/tmp/ccEqihNa.s:809:Error:unknownpseudo-op:`.cfi_

c++ - g++ 4.6.1 编译器错误 : Error: unknown pseudo-op: `.cfi_personality'

我有一个文件,在我的macbookpro上使用g++(4.6.1)运行osx(snowleopard)编译时没有错误或警告。我刚刚将它上传到我们的linux集群(不是由我运行)并尝试在那里编译(也使用gcc4.6.1)。这次我用汇编器出现了很多奇怪的错误信息。如何解释以下错误?g++-I../shared/boost_1_47_0-std=c++0x-O2-c../shared/ft.cpp-o../shared/ft.o/tmp/ccEqihNa.s:Assemblermessages:/tmp/ccEqihNa.s:809:Error:unknownpseudo-op:`.cfi_

c++ - 相当于 gcc/g++ 中的 __declspec( naked )

gcc/g++中__declspec(naked)的等价物是什么?__declspec(naked)实际上是用来声明一个没有尾声和序言的函数。 最佳答案 在某些体系结构上,gcc支持称为“naked”的属性;最近gccdocs我给出了这个架构列表:ARM、AVR、MCORE、RX和SPU。如果您正在使用其中一种架构(如果您尝试使用它并且它不受支持,gcc会向您发出警告),可以像这样使用该属性:__attribute__((naked))intfun(){}[最近在gcc开发人员列表上有一些关于添加“naked”属性作为更通用的特性,

c++ - 相当于 gcc/g++ 中的 __declspec( naked )

gcc/g++中__declspec(naked)的等价物是什么?__declspec(naked)实际上是用来声明一个没有尾声和序言的函数。 最佳答案 在某些体系结构上,gcc支持称为“naked”的属性;最近gccdocs我给出了这个架构列表:ARM、AVR、MCORE、RX和SPU。如果您正在使用其中一种架构(如果您尝试使用它并且它不受支持,gcc会向您发出警告),可以像这样使用该属性:__attribute__((naked))intfun(){}[最近在gcc开发人员列表上有一些关于添加“naked”属性作为更通用的特性,

C++11: g++-4.7 内部编译器错误

以下代码:#include#includeusingnamespacestd;constexprintN=1000000;constexprintf(intx){returnx*2;}typedefarrayA;templatestructF{staticconstexprAf(){returnA{{::f(i)...}};}};templatestructC{};templatestructC,F>:F{usingT=F;};templatestructS:C::T,typenameS::T>{};templatestructS:F{usingT=F;};constexprautoX

C++11: g++-4.7 内部编译器错误

以下代码:#include#includeusingnamespacestd;constexprintN=1000000;constexprintf(intx){returnx*2;}typedefarrayA;templatestructF{staticconstexprAf(){returnA{{::f(i)...}};}};templatestructC{};templatestructC,F>:F{usingT=F;};templatestructS:C::T,typenameS::T>{};templatestructS:F{usingT=F;};constexprautoX

c++ - runtime_error 未在此范围内为 g++ 4.1.2 声明

相同的代码在gcc4.5.2上运行良好,但是当尝试在gcc4.1.2上编译它时,出现错误'runtime_error'wasnotdeclaredinthisscope。我有#include这是gcc4.1.2的问题吗?代码摘录//Constructorif(resourcecannotbeacquired)throwstd::runtime_error("BlahBlah"); 最佳答案 VisualStudio表示runtime_error应在中定义,所以我猜GCC4.1.2在这里已经过时了。

c++ - runtime_error 未在此范围内为 g++ 4.1.2 声明

相同的代码在gcc4.5.2上运行良好,但是当尝试在gcc4.1.2上编译它时,出现错误'runtime_error'wasnotdeclaredinthisscope。我有#include这是gcc4.1.2的问题吗?代码摘录//Constructorif(resourcecannotbeacquired)throwstd::runtime_error("BlahBlah"); 最佳答案 VisualStudio表示runtime_error应在中定义,所以我猜GCC4.1.2在这里已经过时了。

C++0x "Hello Concurrent World"在 g++/linux 上立即出现段错误?

浏览C++0x中的货币一书,并认为我可以运行示例代码。它是最基本的。#include#includevoidhello(){std::cout编译:g++-std=c++0x-g-opgmpgm.cpp蓬勃发展:ProgramreceivedsignalSIGSEGV,Segmentationfault._dl_fixup(l=0x7ffff7b0992c,reloc_arg=)at../elf/dl-runtime.c:147147../elf/dl-runtime.c:Nosuchfileordirectory.in../elf/dl-runtime.c似乎是某种设置/库问题。有熟