代码之家  ›  专栏  ›  技术社区  ›  Amadeus

将gcc用作新用户的提示[关闭]

  •  1
  • Amadeus  · 技术社区  · 7 年前

    我对GCC很陌生,不知道如何使用它。我已经有了一个预编译的gcc二进制文件的副本,我已经从gcc网站的镜像站点下载了这个文件。现在,我不知道从这里到哪里去。请给我一些提示,告诉我如何继续。

    我对这个相当含糊的问题感到抱歉。

    我想要的是关于如何使用gcc的提示。我以前使用tc编译器在c中编程过。谢谢!

    我非常感谢你的所有建议。再次感谢…:)

    4 回复  |  直到 11 年前
        1
  •  3
  •   paxdiablo    16 年前

    从婴儿的脚步开始。

    创建要编译的文件( hi.c )在您最喜欢的编辑器中,例如:

    #include <stdio.h>
    int main (void) {
        printf ("Hi there\n");
        return 0;
    }
    

    然后从命令提示符执行:

    gcc -o hi hi.c
    

    这将为您提供一个可以运行的可执行文件。

    除此之外,它实际上取决于你知道多少C(或C++或其他GCC语言)。如果你是C语言的初学者,而不仅仅是GCC工具链的初学者,那就为自己准备一本关于语言的入门书,并开始阅读。最重要的是, 练习,玩代码等等。


    根据您对C本身(Borland线)的更新,您可能只对GCC的即时差异感兴趣。

    gcc是一个命令行编译器。有一些IDE使用它,但是GCC本身不是一个IDE。这意味着您可能正在进行命令行编译。

    其基本形式是:

    # creates an executable "exe" from your source file "src.c"
    gcc -o exe src.c
    # creates an executable "exe" from your source files "src.c" and "extra.c"
    gcc -o exe src.c extra.c
    # creates object files from your source files
    gcc -c -o src.o src.c
    gcc -c -o extra.o extra.c
    # creates an executable file "exe" from your object files
    gcc -o exe src.o extra.o
    

    一旦您厌倦了这样做,您将希望学习如何使用make,一种使用包含规则(依赖项和要采取的操作)的文件来自动化构建过程的方法,例如:

    all: exe
    
    clean:
        rm -rf exe src.o extra.o
    
    rebuild: clean all
    
    exe: src.o extra.o
        gcc -o exe src.o extra.o
    
    src.o: src.c
        gcc -o src.o src.c
    
    extra.o: extra.c
        gcc -o extra.o extra.c
    

    我不公正地对待 make 在这里,它的表现力远远超过它的外观。

        2
  •  4
  •   James McNellis    16 年前

    使用 总是。

    不要忽略警告;当它们突然出现时,请修复它们。

        3
  •  1
  •   Jonathan Leffler    16 年前

    除非您对可移植性不感兴趣,否则请确保您了解GCC的哪些特性是该标准的GNU扩展。当然,GCC在大多数机器上都是可用的,但是限制您的代码通常是愚蠢的,因此它只与GCC一起编译。

    为此,以及无处不在的 -Wall 我通常使用 -std=c99 (或) -std=c89 -pedantic . 我喜欢和 -Wmissing-prototypes -Wstrict-prototypes 以确保没有未声明的函数。如果代码真的很干净,我将添加 -Wextra (警告多于 ) -Werror (将警告视为错误)。这可以确保代码保持干净-当出现警告时编译失败。

        4
  •  0
  •   LandonSchropp    16 年前

    makefiles非常有用。你绝对应该 check out 如何使用它们。