zoukankan      html  css  js  c++  java
  • cygwin Mingw

    cygwin is a unix-like enviroment and command-line interface for microsoft windows.

    cygwin is huge and includes most of the Unix tools and utilities. It also include the commonly used Bash shell.b

    for c ,use gcc 

    for c++,use g++

    below is an example

    for hello.c. if the main function have parameter,than just put the paramter value after the executable file(below is hello.exe).

    > gcc -o hello.exe hello.c    //NT
      // Compile and link source file hello.c into executable hello.exe
    > hello
      // Execute hello.exe under CMD shell

    NT:after -o,place hello.exe ahead,not hello.c
    More GCC Compiler Options

    A few commonly-used GCC compiler options are:

    $ g++ -Wall -g -o Hello.exe Hello.cpp
    • -o: specifies the output executable filename.
    • -Wall: prints "allwarning messages.
    • -g: generates additional symbolic debugging information for use with gdb debugger.
    Compile and Link Separately

    The above command compile the source file into object file and link with other object files (system library) into executable in one step. You may separate compile and link in two steps as follows:

    // Compile-only with -c option
    > g++ -c -Wall -g Hello.cpp
    // Link object file(s) into an executable
    > g++ -g -o Hello.exe Hello.o

    The options are:

    • -ccompile into object file "Hello.o". By default, the object file has the same name as the source file with extension of ".o" (there is no need to specify -o option). No linking with other object file or library.
    • Linking is performed when the input file are object files ".o" (instead of source file ".cpp" or ".c"). GCC uses a separate linker program (calledld.exe) to perform the linking.
    Compile and Link Multiple Source Files

    Suppose that your program has two source files: file1.cppfile2.cpp. You could compile all of them in a single command:

    > g++ -o myprog.exe file1.cpp file2.cpp 

    However, we usually compile each of the source files separately into object file, and link them together in the later stage. In this case, changes in one file does not require re-compilation of the other files.

    > g++ -c file1.cpp
    > g++ -c file2.cpp
    > g++ -o myprog.exe file1.o file2.o
    Compile into a Shared Library

    To compile and link C/C++ program into a shared libary (".dll" in Windows, ".so" in Unixes), use -shared option. Read "Java Native Interface" for example.

    1.4  GCC Compilation Process

    GCC compiles a C/C++ program into executable in 4 steps as shown in the above diagram. For example, a "gcc -o hello.exe hello.c" is carried out as follows:

    Verbose Mode (-v)

    You can see the detailed compilation process by enabling -v (verbose) option. For example,

    > gcc -v hello.c -o hello.exe

    above from below link:  

    GCC and Make:  Compiling, Linking and Building C/C++ Applications

    http://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html

    •  
    • Cygwin User's Guide

    http://cygwin.com/cygwin-ug-net/cygwin-ug-net.html 

  • 相关阅读:
    CF Gym 101955G Best ACMer Solves the Hardest Problem 平面加点,删点,点加权(暴力)
    CF Gym 101955C Insertion Sort
    狩猎大赛(社团周赛)
    CF 1215 D Ticket Game (博弈)
    CF1215 C Swap Letters(思维题)
    CF 1215 B The Number of Products(思维题)
    HDU 6740 MUV LUV EXTRA(求循环节)
    BZOJ 1491 [NOI2007]社交网络(Floyd变形)
    BZOJ 3039 玉蟾宫
    【luogu4124】【bzoj4521】 [CQOI2016]手机号码 [数位dp]
  • 原文地址:https://www.cnblogs.com/aprilapril/p/2909263.html
Copyright © 2011-2022 走看看