原创 用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