我正在尝试编译来自thistutorial的简单C示例在Ubuntu使用海湾合作委员会。我必须使用什么作为GCC的参数来包含#include所需的库?? 最佳答案 -I-L-l 关于c-如何使用GCC包含所需的C库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6016815/
我知道如果你这样执行GCC:gcc-O3-O2foo.cGCC将使用最后传递的优化标志(在本例中为O2)。然而,这对所有旗帜都是如此吗?例如,如果我像这样执行GCC:gcc-mno-sse-mssebar.c它是否会支持SSE,因为这是最后传递的标志,或者这会导致未定义的行为吗?我最初的实验似乎表明它将支持SSE,但我不确定这是否适用于所有情况。 最佳答案 通常,该行后面的选项会覆盖之前传递的选项,正如您在第一个示例中提到的那样。我个人没有遇到过-m或-f标志的任何不同行为,但我不知道文档中有具体引用。请注意,某些选项不会以这种方式
我的项目目前正在gcc下编译。它使用Boost、ZeroMQ作为静态.a库和一些.so库,如SDL。我想一路叮当响,但不是现在。我想知道是否可以编译使用在gcc下用clang编译的.a和.so库的代码? 最佳答案 是的,您通常可以将clang与GCC编译的库一起使用(反之亦然,将gcc与CLANG编译的库一起使用),因为在事实上它不是编译而是linking这是相关的。你可能会倒霉,得到不愉快的惊喜。原则上,您可以依赖于用于链接相关库的libstdc++版本(如果它们是用C++编码的)。实际上,这通常无关紧要。在C++中,namema
我是Linux新手。任何人都可以向我解释我的helloworld程序的以下详细模式输出吗?此外,文件crt1.o、crti.o、crtend.o、crtbegin.o和crtn.o和lc和lgcc呢?也欢迎任何其他解释性链接。$gcc-vhello.cReadingspecsfrom/usr/lib/gcc-lib/i686/3.3.1/specsConfiguredwith:../configure--prefix=/usrThreadmodel:posixgccversion3.3.1/usr/lib/gcc-lib/i686/3.3.1/cc1-quiet-v-D__GNUC__
如何卸载从源代码安装的gcc版本。我使用的是gcc4.9,我在ubuntu12.04上。或者有没有办法通过ubuntu存储库升级到最新的gcc版本? 最佳答案 当您从源代码构建一个包时,不幸的是通常没有神奇的卸载,但是您可以近似地估计这个,归功于thismailinglistthread.基本上你应该重新安装到一个临时目录并列出在该目录中创建的所有文件,然后你可以通过脚本从主系统中删除所有这些文件。这是一个以这种方式卸载GCC的脚本示例:makeinstallDESTDIR=/tmp/gccinstfind/tmp/gccinst|
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我曾经听过一句话,我们可以没有linux,但是我们绝对不能没有gcc。看来,Linux世界上只有一种C编译器。有没有gcc的替代品?AIX/HPUX/Solaris下的程序员只用gcc开发程序吗?
我编译这个程序:#includeintmain(){printf("HelloWorld!");return0;}使用这个命令:gcc-c"hello.c"-ohello当我尝试执行hello时,我得到了bash:./hello:Permissiondenied因为权限是-rw-r--r--1nathannathan8562010-09-1723:49hello出于某种原因??但是无论如何......在更改权限并尝试再次执行之后,我得到了bash:./hello:cannotexecutebinaryfile我正在使用gcc(Ubuntu4.4.3-4ubuntu5)4.4.3我在这里
你好我已经反汇编了一些我写的程序(linux)以更好地理解它是如何工作的,我注意到主要功能总是以:leaecx,[esp+0x4];Iassumethisisforgettingtheadressofthefirstargumentofthemain...why?andesp,0xfffffff0;???isthecompilertryingtoalignthestackpointeron16bytes???pushDWORDPTR[ecx-0x4];Iunderstandtheassemblerispushingthereturnadress....why?pushebpmovebp
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter寻求指导。关闭11年前。Linux内核代码使用“statement-expression”和typeof扩展,使其只能在gcc下编译。越想越觉得没有意义。它违背了可移植性和标准C的目的。(现在linux内核代码需要一个支持gcc扩展的特定编译器)。这是一个糟糕的设计选择还是有特定的原因让linux内核代码特定于gcc?编辑:当我说它破坏了可移植性时,我在不同的上下文中使用了
我想知道是否有人设法用gcc以外的其他编译器编译Linux内核。或者如果有人曾经尝试过?问题可能看起来很愚蠢或很学术,但当我想到以下问题的答案时出现了:AreC++intoperationsatomiconthemipsarchitecture似乎有些操作的原子性不仅取决于cpu架构,还取决于使用的编译器。所以,我想知道在Linux世界中是否存在gcc以外的编译器。 最佳答案 Linux显式依赖于某些gccextensions,因此在这种情况下,任何其他编译器都必须与所需的扩展兼容。这不是“不”,因为对于单独的编译器供应商/开发人员