zoukankan      html  css  js  c++  java
  • Running the complier from the Command Line

    Running the complier from the Command Line

    CC prog1.cc

     

    For windows, it will generate the executable file named prog1.exe

    For UNIX, it tends to put their executables in files named a.out

     

    Remarks:

    About cc and gcc

     

    Cc refers to the C compiler in UNIX while gcc comes from Linux, which is the abbreviation of GNU compiler collection. Notice that gcc is a collection of compilers(not only related to C and C++).

     

    Actually, in Linux, cc is the same as gcc. cc is just a soft link of gcc to make it easy to transfer the project from UNIX to Linux.

     

    About gcc and g++

     

    Gcc regards file with suffix .c as C program while g++ regards it as C++ program. cpp is regarded as C++ program for both commands. 

    In the compiling, g++ will invoke gcc command. Because gcc can not automatically connect to the libraries, while g++ can. So we usually use g++ instead of gcc.

     

    In my Mac, when I enter gcc HelloWorld.cpp, it will throw a lot of error message for undefined symbols, which will not happen if you use g++ command.

    The program in HelloWorld is very easy.

     

    #include <iostream>

    using namespace std;

     

    int main(int argc, const char * argv[]) {

        // insert code here...

        std::cout << "Hello, World! ";

        return 0;

     

     

    Referencehttp://www.cnblogs.com/xiedan/archive/2009/10/25/1589462.html

     

    After compiling, we can directly run the executable file:

    For windows, we just enter “prog1"

    For Unix, we should use ./a.out.    (./ indicates the file is in the current directory)

    In my Mac, the output is as below:

    181-39:CppStudy luke$ ./a.out 

    Hello, World!

     

    The value returnd from main is accessed in a system-dependent manner. On both UNIX and Windows systems, after executing the program, you must issue an appropriate echo command echo $?. In windows, we write echo %ERRORLEVEL%

    In my Mac, the output of the echo $? command is as below:

    181-39:CppStudy luke$ echo $?

    0

     

    Zero is the return value of the main function. 

     

     

    If you use g++ -o prog1 prog1.cc, it will generate an executable file named prog1 instead of a.out. For example, in my Mac, when I enter g++ -o lukewang main.cpp, then the it will generate a file named lukewang, you can use ./lukewang to run the file. The -o is an argument(参数) to the compiler, which can not be omitted.

     

    Exercise 1.2: If the return value is -1, the result of command echo $? is 255.

     

    Remarks: I use GDB as the debugging tool.

    Here is the reference about gdb and gcc.

    http://blog.163.com/liuqiang_mail@126/blog/static/109968875201292625126644/

     

  • 相关阅读:
    关于Android的布局
    一个新的开端
    Flux的基础概念和实战入门
    在Redux中使用插件createAction之后
    学习
    Object.assign() 对象的扩展
    Redux 中的CombineReducer的函数详解
    React组件的防呆机制(propTypes)
    css的新特性 calc () 使用
    shim和polyfill有什么区别
  • 原文地址:https://www.cnblogs.com/middlesummer/p/4152080.html
Copyright © 2011-2022 走看看