原创 日誌系統設計

一、重要性      日誌系統在整個系統架構中的重要性可以稱得上基礎的基礎,但是這一點,都容易被大多數人所忽視。因爲日誌在很多人看來只是printf。在系統運行期間,是很難step by step的,所以只能根據系統的運行軌跡來推斷錯誤出

原创 vc 找到一個或多個多重定義的符號的解決辦法

原文地址:vc 找到一個或多個多重定義的符號的解決辦法作者:vitas vc 找到一個或多個多重定義的符號, 這個問題還是不能很好的解決. 最根本的是: 把所有有關定義的部分都放在.cpp文件中,對應的.h文件中只放聲明. 這樣在#

原创 fatal error LNK1179: 無效或損壞的文件: 重複的 COMDAT YA_NAEBU

今天開發程序編譯Release版本時報“fatal error LNK1179: 無效或損壞的文件: 重複的 COMDAT XXXX”的錯誤,Debug版本不報,網上查不到正確的解決方法,我想Release和Debug最大的區別在於對代碼

原创 C++ Virtual詳解

Virtual是C++ OO機制中很重要的一個關鍵字。只要是學過C++的人都知道在類Base中加了Virtual關鍵字的函數就是虛擬函數(例如函數print),於是在Base的派生類Derived中就可以通過重寫虛擬函數來實現對基類虛擬

原创 作爲軟件工程師,你必須知道的20個常識(轉)

轉自Romandion的專欄 作爲一名優秀是軟件開發工程師,以下的這些常識你知道嗎?在實際工作中有沒有總結過呢?小編就帶大家一起分享這20個軟件開發常識。 1.針對面向對象的設計與分析:爲了讓軟件有更好的可維護性,重用性以及快速開發

原创 error C3859: 超過了PCH的虛擬內存範圍;請使用“-Zm33”或更大的命令行選項重新編譯

產生的原因:爲了加快boost的編譯,使用的預編譯頭。而且加的boost的頭文件比較多,導致pch文件超過了默認值。解決的辦法:1. 找到 工程->屬性->c/c++->命令行->其他選項2. 輸入/Zm100,其中後面的數字可以更大定義

原创 std:string格式化字符串

      之前開發程序,如果需要格式化string對象,我會定義一個char類型的數組,數組大小一般會定義的非常大,比如10240,存放一般常用的串應該夠長了,然後用sprintf對該數組格式化,之後再賦給string。最近開發程序,碰

原创 錯誤:'nasm' 不是內部或外部命令,也不是可運行的程序

1>正在執行自定義生成步驟 1>'nasm' 不是內部或外部命令,也不是可運行的程序 1>或批處理文件。 1>Project : error PRJ0019: 某個工具從以下位置返回了錯誤代碼:"正在執行自定義生成步驟" 1>生成日誌保

原创 C++模板

C++模板   模板是C++支持參數化多態的工具,使用模板可以使用戶爲類或者函數聲明一種一般模式,使得類中的某些數據成員或者成員函數的參數、返回值取得任意類型。   模板是一種對類型進行參數化的工具;   通常有兩種形式:

原创 GetLastError

GetLastError GetLastError GetLastError返回的值通過在api函數中調用SetLastError或SetLastErrorEx設置。函數   並無必要設置上一次錯誤信息,所以即使一次GetLastE

原创 調用GetLastError 錯誤代碼 含義

 〖0〗-操作成功完成。 〖1〗-功能錯誤。 〖2〗-系統找不到指定的文件。 〖3〗-系統找不到指定的路徑。 〖4〗-系統無法打開文件。 〖5〗-拒絕訪問。 〖6〗-句柄無效。 〖7〗-存儲控制塊被損壞。 〖8〗-

原创 C/C++ 字節序/位域(Bit-fields)之我見

前言 很早想說說這個問題了,經常也會有很多公司拿位域出來考人,呵呵要真的想弄清楚還要一點點的分析。 這裏先看看網宿的一道筆試題目,這道題目我之前是複製網上的,結果不對,修改了一下,可以正確運行了,謝謝(imafish_i )提醒:

原创 C++/C筆試面試題目大大的集合

C++/C筆試面試題目大大的集合 1、const 有什麼用途?(請至少說明兩種) 答: (1)可以定義 const 常量 (2)const可以修飾函數的參數、返回值,甚至函數的定義體。被const修飾的東西都受到強制保護,可以預防

原创 C中的位域與大小端問題

大小端是數據在內存中存放的兩種順序。 大端: 是指先從高(大)地址分配內存。 小端: 是指先從低(小)地址分配內存。 所以,對於int型數值0×12345678的保存方式如下: (假設保存在0開始的地址中) CPU先存數據的低位。 大端

原创 VS編譯的程序出現內存不夠的解決辦法

LINK的/STACK選項    /STACK   :reserve[,commit]    reserve:棧總大小    commit:程序開始時系統提供的實際內存量    缺省:1M,8K    參數爲0取缺省值