我知道這看起來像一個愚蠢的問題,但如何在中使用諸如-Wall
和-pedantic
之類的標誌來命名可執行文件?命名一個可執行文件c
我有一個名爲test.c的文件,另一個名爲function.c的地方,我寫了我需要的函數test.c
。 我用這個命令編譯:gcc -Wall -pedantic test.c
我應該在哪裏放置可執行文件的名字?我嘗試了每個地方,但似乎並不奏效。我的編譯器缺乏什麼或什麼?
我知道這看起來像一個愚蠢的問題,但如何在中使用諸如-Wall
和-pedantic
之類的標誌來命名可執行文件?命名一個可執行文件c
我有一個名爲test.c的文件,另一個名爲function.c的地方,我寫了我需要的函數test.c
。 我用這個命令編譯:gcc -Wall -pedantic test.c
我應該在哪裏放置可執行文件的名字?我嘗試了每個地方,但似乎並不奏效。我的編譯器缺乏什麼或什麼?
您需要使用-o
選項,這樣
gcc -Wall -pedantic -o MY_EXECUTABLE_NAME test.c
# ^here (output file name option)
你知道,你總是可以做gcc --help
Usage: gcc [options] file...
Options:
-pass-exit-codes Exit with highest error code from a phase
--help Display this information
--target-help Display target specific command line options
--help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...]
Display specific types of command line options
(Use '-v --help' to display command line options of sub-processes)
--version Display compiler version information
-dumpspecs Display all of the built in spec strings
-dumpversion Display the version of the compiler
-dumpmachine Display the compiler's target processor
-print-search-dirs Display the directories in the compiler's search path
-print-libgcc-file-name Display the name of the compiler's companion library
-print-file-name=<lib> Display the full path to library <lib>
-print-prog-name=<prog> Display the full path to compiler component <prog>
-print-multiarch Display the target's normalized GNU triplet, used as
a component in the library path
-print-multi-directory Display the root directory for versions of libgcc
-print-multi-lib Display the mapping between command line options and
multiple library search directories
-print-multi-os-directory Display the relative path to OS libraries
-print-sysroot Display the target libraries directory
-print-sysroot-headers-suffix Display the sysroot suffix used to find headers
-Wa,<options> Pass comma-separated <options> on to the assembler
-Wp,<options> Pass comma-separated <options> on to the preprocessor
-Wl,<options> Pass comma-separated <options> on to the linker
-Xassembler <arg> Pass <arg> on to the assembler
-Xpreprocessor <arg> Pass <arg> on to the preprocessor
-Xlinker <arg> Pass <arg> on to the linker
-save-temps Do not delete intermediate files
-save-temps=<arg> Do not delete intermediate files
-no-canonical-prefixes Do not canonicalize paths when building relative
prefixes to other gcc components
-pipe Use pipes rather than intermediate files
-time Time the execution of each subprocess
-specs=<file> Override built-in specs with the contents of <file>
-std=<standard> Assume that the input sources are for <standard>
--sysroot=<directory> Use <directory> as the root directory for headers
and libraries
-B <directory> Add <directory> to the compiler's search paths
-v Display the programs invoked by the compiler
-### Like -v but options quoted and commands not executed
-E Preprocess only; do not compile, assemble or link
-S Compile only; do not assemble or link
-c Compile and assemble, but do not link
-o <file> Place the output into <file>
-pie Create a position independent executable
-shared Create a shared library
-x <language> Specify the language of the following input files
Permissible languages include: c c++ assembler none
'none' means revert to the default behavior of
guessing the language based on the file's extension
Options starting with -g, -f, -m, -O, -W, or --param are automatically
passed on to the various sub-processes invoked by gcc. In order to pass
other options on to these processes the -W<letter> options must be used.
For bug reporting instructions, please see:
<http://bugzilla.redhat.com/bugzilla>.
的gcc -o output_name中-Wall -pedant file.c
U應該在文件名之前使用-o,因爲它會創建代碼文件的目標文件。
好的,非常感謝,我被教導錯了。所以我可以在任何情況下使用-o? –
是的,你可以,你可以從幫助頁面看到。 –