原创 用gcc還是g++?

今天寫了個service.cpp,用gcc編譯:gcc -o service service.cpp; 出現如下錯誤碼: /tmp/ccCJCMyo.o:(.eh_frame+0x12): undefined reference to `

原创 linux進程間內存共享---mmap

 系統調用mmap()用於共享內存的兩種方式: (1)使用普通文件提供的內存映射:適用於任何進程之間;          此時,需要打開或創建一個文件,然後再調用mmap();典型調用代碼如下:           fd=open(na

原创 GCC鏈接中的庫依賴

GCC在鏈接過程中,對參數中的庫的順序是有要求的,參數右側的庫會先於左側的庫加載,也就是說參數的解析是從右往左的。    假設庫B依賴與庫A,則鏈接的時候要寫爲:       gcc -o bin -lB -lA   如果寫爲:     

原创 重載轉換操作符

轉換操作符是一種特殊的類成員函數。將類類型值轉變爲其他類型值的轉換。operator type()必須是成員函數,不能指定返回類型,並且形參表必須爲空   例如: class Test {public:       Test(int t)

原创 GCC鏈接中的庫依賴

GCC在鏈接過程中,對參數中的庫的順序是有要求的,參數右側的庫會先於左側的庫加載,也就是說參數的解析是從右往左的。    假設庫B依賴與庫A,則鏈接的時候要寫爲:       gcc -o bin -lB -lA   如果寫爲:     

原创 關於offsetof()的warning!

先不多說,直接上程序: #include <cstdlib>#include <iostream> #include <sstream>#include <stdexcept>#include <cstring>#include <map

原创 uniq和sort的組合運用

對一個文件中的數據進行排序、重複刪選、以及統計重複項的數目 linux的命令爲: sort f.txt | uniq -c     其中sort首先是排序,然後用uniq進行刪除文件中的重複行;   注: 1、uniq參數-c:在輸出行前

原创 實現Mysql的遠程登錄

http://blog.sina.com.cn/s/blog_54bbad8b0100bs7v.html  折騰到凌晨3點,才弄明白mysql的遠程設置。 粗心大意害死人啊,其實一開始按照網上提示已經設置成功了,只不過在另一機器使用mys

原创 gcc 加載庫和頭文件的次序

gcc在加載inlcude和lib的時候是優先載入makefile裏定義的,然後再去搜索環境變量裏配置的默認的路徑!

原创 函數指針數組的點滴

以下內容摘至《C++編程思想》: #include   <iostream> using   namespace   std; #define   DF(N)   void   N(){cout < < "function   "#N

原创 Lua的基本信息調試(一)

前段時間在項目中試加入了lua腳本,但由於匆忙很不完善,沒有任何的調試信息,包括出錯信息的打印,所以很是痛苦!最近終於開始着手完善lua程序,只是從沒用過,一切都是從頭學起! 首先是載入腳本的時候:luaL_dofile(m_lua, p

原创 Lua的基本信息調試(二)

前面說過,在我們的項目中使用的是luabind。 調用lua函數的接口是:call_function<bool>(m_lua, func_name, player); 如果func出錯了,lua會拋出異常,c++程序捕捉到後程序可能會崩掉

原创 Lua的基本信息調試(三)--lua_getstack

在前面那篇文章Lua的基本信息調試(二)中,我使用了lua_getstack(L, 2, &debug);去取堆棧中的錯誤信息,但至於錯誤信息在stack中的層數並不清楚,經過信息打印發現,錯誤信息在stack的最深處,因此,修改函數爲:

原创 關於memset的慎用

先看一段代碼: #include <cstdlib>#include <iostream> using namespace std; struct test_t {       test_t()       {              

原创 localtime 和 localtime_r

上程序: #include <cstdlib> #include <iostream> #include <time.h> #include <stdio.h> using namespace std; int main(int ar