原创 Linux終端命令-程序文件相關命令(1)

一 Linux下相關的命令 命令 語法 命令示例 說明 file file [-beLvz][-f <名稱文件>] [-m <魔法數字文件>...][文件或目錄...] file foobar.o file /bin/bash 查

原创 使用Flex Bison 和LLVM編寫自己的編譯器

轉自:點擊打開鏈接 1、介紹 我總是對編譯器和語言非常感興趣,但是興趣並不會讓你走的更遠。大量的編譯器的設計概念可以搞的任何一個程序員迷失在這些概念之中。不用說,我也曾今嘗試過,但是並沒有取得太大的成功,我以前的嘗試都停留在語義分

原创 如何使用Lex/YACC

譯自Lex&YACC HOWTO 轉自:點擊打開鏈接 1. 簡介 如果你有Unix環境的編程經驗,想必你肯定遇到過神祕的Lex和YACC工具,在GUN/Linux中,又分別稱作Flex和Bison,其中Flex是由Vern Pax

原创 gcc編譯使用動態靜態鏈接庫

一 動態鏈接庫 1.創建hello.so動態庫   gcc -fPIC -shared hello.c -o libhello.so    說明:(1)-fPIC表示編譯爲位置獨立的代碼。                 (2)-sha

原创 Linux終端命令-程序文件相關命令(2)

二 相關知識點 1.file    文件類型   可重定位文件(relocatable) Linux下的.o Windows下的.obj 可執行文件(executable) Linux的如/bin/bash Windows的.ex

原创 gcc編譯指令詳解

一 GCC編譯流程     1.預處理階段     gcc -E hello.c -o hello.i     說明:(1)-o <輸出文件> :指定輸出文件                 (2)-E 只執行編譯預處理     該階段是

原创 頭文件,庫文件與鏈接

一 Windows下的頭文件,庫文件 1.怎樣通過h文件調用對應的dll文件     這就時導入庫lib的作用:告訴鏈接器調用的函數在哪個dll中,函數執行代碼在dll中的什麼位置。 2.兩種lib庫:靜態庫與導入庫     .lib後綴

原创 g++與gcc及cc區別

1.GCC       GCC 代表“GNU Compiler Collection”,GCC是幾種主要編程語言的發佈的編譯器集合,這些語言目前包括C,C++,Objective-C, Java, Fortran, Ada和Go.  

原创 Linux程序開發、編譯過程相關的一些指令

一 GCC編譯過程涉及到的指令   gcc指令 單獨指令 備註 預處理 gcc -E hello.c -o hello.i cpp hello.c > hello.i 完成C語言源文件上的文件包含和宏置換 編譯 gcc -S hell

原创 Bison Quick Tutorial

轉自:點擊打開鏈接 Contents  [hide]  1 GNU Bison 簡介2 Flex與Bison聯合編譯3 編寫Bison源代碼4 屬性值的類型5 語法單元的位置6 二義性與衝突處理7 錯誤恢復 GNU B

原创 errno和strerror的使用

轉自:http://www.douban.com/note/165931644/ 經常在調用linux 系統api 的時候會出現一些錯誤,比方說使用open() write() creat()之類的函數有些時候會返回-1,也就是調用失敗,

原创 C/C++堆、棧及靜態數據區詳解

轉載地址:http://www.cnblogs.com/hanyonglu/archive/2011/04/12/2014212.html         本文介紹C/C++中堆,棧及靜態數據區。     五大內存分區   在C++

原创 malloc/free與new/delete的區別

轉自:http://blog.csdn.net/hackbuteer1/article/details/6789164 相同點:都可用於申請動態內存和釋放內存 不同點: (1)操作對象有所不同。 malloc與free是C++/C 語言

原创 VLAN原理解釋

轉自:http://www.cnblogs.com/xialei893/p/3723864.html 爲什麼需要VLAN 1. 什麼是VLAN? VLAN(Virtual LAN),翻譯成中文是“虛擬局域網”。LAN可以是由少數幾

原创 轉SQL Server 的事務和鎖

最近在項目中進行壓力測試遇到了數據庫的死鎖問題,簡言之,如下的代碼在 SERIALIZABLE 隔離級別造成了死鎖: 1 2 3 4 5 6 7 8 9 10 11 12