c99和c++11的差別之一

#include <stdio.h>c++

void main(){函數

  printf("hello world.\n");優化

}ui

gcc hello.c -o hello -std=c99spa

編譯經過。線程

但經過以下編譯則失敗——調試

g++ hello.c -o hello -std=c++11c++11

失敗信息爲:code

hello.c:3:11: error: ‘::main’ must return ‘int’
void main()
^字符串

這是由於在c+11中,main必須爲int類型,但卻能夠沒必要有返回值;修改代碼爲以下便可——

#include <stdio.h>

int main(){

  printf("hello world.\n");

  /*return 0;  能夠不須要這行*/

}

 

附gcc/g++編譯命令集合:

//編譯生成可執行文件g++ -o hello hello.cpp//運行./helloGCC編譯命令gcc -v 查看版本查找g++的命令幫助 鍵入 info g++,會顯示出gcc的幫助信息,g++大部分參數和gcc命令相同選項 解釋-ansi 只支持 ANSI 標準的 C 語法。這一選項將禁止 GNU C 的某些特點,例如 asm 或 typeof 關鍵詞。-c -o只編譯並生成目標文件。-DMACRO 以字符串「1」定義 MACRO 宏。-DMACRO=DEFN 以字符串「DEFN」定義 MACRO 宏。-E 只運行 C 預編譯器。-g 生成調試信息。GNU 調試器可利用該信息。-IDIRECTORY 指定額外的頭文件搜索路徑DIRECTORY。-LDIRECTORY 指定額外的函數庫搜索路徑DIRECTORY。-lLIBRARY 鏈接時搜索指定的函數庫LIBRARY。-m486 針對 486 進行代碼優化。-o FILE 生成指定的輸出文件。用在生成可執行文件時。-O0 不進行優化處理。-O 或 -O1 優化生成代碼。-O2 進一步優化。-O3 比 -O2 更進一步優化,包括 inline 函數。-shared 生成共享目標文件。一般用在創建共享庫時。-static 禁止使用共享鏈接。-UMACRO 取消對 MACRO 宏的定義。-w 不生成任何警告信息。-Wall 生成全部警告信息。g++ -o 目標文件名 源文件名ldd programm 查看programm程序所依賴的共享庫(.so)文件ar crv mm.a x.o y.o 將x.o和y.o合併到一個靜態庫mm.a文件中ranlib mm.a 生成靜態庫的內容表 (不是必須)emacs基本命令ctrl+x+f 打開文件ctrl+x+d 打開目錄,查看該目錄的子目錄ctrl+x+s 保存當前buffer裏的文件ctrl+s 查找當前buffer裏的文本rename-buffer 修改當前緩衝區的名字ctrl+shift+ - 回退ctrl+alt+\ 對選中的代碼進行格式化ctrl+x 鬆開後 按o 在不一樣的緩衝區移動焦點alt+x選中命令緩衝區ctrl+g取消當前命令alt+w 複製被選中的代碼ctrl+y 粘帖代碼ctrl+w 剪切代碼ctrl+x 鬆掉後按backspace 設置斷點ctrl+x+k 關閉當前緩衝區GDB調試命令查看gdb幫助信息 gdb –help注意g++編譯時,使用-g命令gdb 已編譯的程序文件名list 顯示源代碼break命令設置斷點,能夠後面加上函數名稱delete breakpoints 刪除全部斷點run 運行程序step <count> 單步跟蹤(自動進入函數)next <count> 單步跟蹤(不自動進入函數)continue 繼續運行print 變量名查看某變量的值,調試過程當中改變某變量的值info breakpoints 查看程序中斷點設置的信息quit 退出info thread 列出多個線程號。 thread 查看當前線程號 thread 線程號 選擇進入哪一個線程進行調試。Unicode和MultiBytes 字符串的轉換#include <wchar.h>size_t wcsrtombs (char *dest, const wchar_t **src, size_t len, mbstate_t *ps);#include <stdlib.h>size_t mbstowcs(wchar_t *pwcs, const char *s, size_t n);環境變量查看環境變量envenv也能夠用來設置環境變量的值,具體看env --helpset 也但是設置環境變量若是環境變量在一個terminal裏設置,就只對這個terminal有效若是想全局的設置,須要修改/etc/profile文件

相關文章
相關標籤/搜索