原创 Linux下生成動態鏈接庫是否必須使用 -fPIC 的問題

在 Linux 下製作動態鏈接庫,“標準” 的做法是編譯成位置無關代碼(Position Independent Code,PIC),然後鏈接成一個動態鏈接庫。經常遇到的一個問題是 -fPIC 是不是必需,因爲好像不加經常也能正常運行,只

原创 單例設計模式的一點總結

單例模式: 1、什麼叫做單例模式? 單例模式保證一個類僅有一個實例,並且提供一個訪問他的全局訪問點。 2、單例模式要解決什麼問題? 在遊戲編程中,我們會在客戶端給玩家提供一些面板,展示玩家屬性,玩家揹包,玩家技能等等。如果我們每一次都是去

原创 centos5.4安裝g++和gcc

centos5.4安裝gcc和g++附帶安裝包地址: http://download.csdn.net/detail/cyteven/6658377 分別執行下面安裝指令即可 rpm -ivh glibc-common-2.5-42.i3

原创 知其然知其所以然 atoi實現 字符串轉整型

       我們經常會遇到有求整型轉成字符串的問題,我們來分析一下其中實現過程,可以先分析一下思路; 1、第一步我們想到就是把字符串進行一遍遍歷,將裏面的數字取出來並且拼成我們的整型數; 2、如何將我們取出來的數字轉成整型數呢,當然我們

原创 linux預定義變量$@ $

$@ : 規則的目標所對應的所有文件 $< : 規則中的第一個相關文件 例如: %.o : %.cpp $(HEADERS)       $(CXX) $(CXXFlags) $(IncludeDir) -c $< -o $@ 解釋一下就

原创 清除系統垃圾腳本 windows

清楚系統垃圾自己定製哈哈 把下面的腳本放到一個xxx.bat文件中然後根據自己的需求更改一下,雙擊執行就ok了 @echo off echo 正在清除系統垃圾文件,請稍等...... del /f /s /q %systemdrive%\

原创 Linux/Unix環境下的make命令詳解

無論是在linux還是在Unix環境中,make都是一個非常重要的編譯命令。不管是自己進行項目開發還是安裝應用軟件,我們都經常要用到make或make install。利用make工具,我們可以將大型的開發項目分解成爲多個更易於管理的模

原创 linux下安裝svn 解決svn: Unrecognized URL scheme

svn安裝   1、首先下載軟件包,我是在weindows上下載後上傳到linux下的(可以使用rz命令)   下載地址:http://download.csdn.net/detail/cyteven/6679121 1、安裝zlib

原创 objdump .

因爲計算機大都是採用哈佛結構,數據和指令分開存儲的的程序組織形式,因此當我門編譯,彙編,連接,(符號解吸,段的重定位)。而爲了能讓程序更好的被執行,最終生成的目標文件包含了足夠多了信息生怕自己被歧視而不被執行。所以面對2進制的目標文件來說

原创 一張圖說build背後的故事

我們在控制檯打印hello過程究竟發生了什麼事,然我們一起目睹   你們知道我們最平時寫的最簡單的程序hello都幹了什麼了嗎下面讓我們一起來看一下 圖:編譯過程 程序: #include <iostream> using name

原创 巧用backtrace系列函數,在不具備gdb環境的Linux系統上大致定位段錯誤位置

1: 段錯誤產生的原因 簡而言之,產生段錯誤就是訪問了錯誤的內存段,一般是你沒有權限,或者根本就不存在對應的物理內存, 尤其常見的是訪問0地址.一旦一個程序發生了越界訪問,系統就採取內存保護措施,並給那個程序發送 SIGSEGV信號,

原创 linux下打印函數調用棧(stack backtrace in Linux)

今天遇到個這樣的需求,希望能當動態鏈接庫中拋出異常時,能把調用棧打印出來。經過在google上一翻搜尋,找到了一些線索。 我的文件目錄如下:當前目錄下是main.cpp 和test/ test下面是A.h, A.cpp(定義一個類)和ba

原创 知其然知其所以然 itoa實現 整型轉字符串

我們經常會遇到有求字符串轉換爲整型的問題,我們來分析一下其中實現過程,可以先分析一下思路; 1、首先我們要求出來整型字符串的長度,這步可以遍歷和除以10這樣計算遍歷次數就可以求的整型字符串長度 2、我們對要操作的整數和10取餘能算出各位數

原创 遊戲中Buff機制及其實際運用

首先我想說的是,這是一套機制,並不是單獨的一個系統,所謂機制就是一種從邏輯思想到代碼實現的小竅門的組合,只有當你把它運用到一個實際項目中去了,它才能幫助你建立一個系統。我不敢說它是最好的,但這套東西幫我完成了一個又一個項目的製作,我覺得現

原创 Linux統計文件行數

語法:wc [選項] 文件…說明:該命令統計給定文件中的字節數、字數、行數。如果沒有給出文件名,則從標準輸入讀取。wc同時也給出所有指定文件的總統計數。字是由空格字符區分開的最大字符串。該命令各選項含義如下:  - c 統計字節數。  -