Time of Update: 2018-12-04
編譯冒似不編譯沒有.lib可以用從官方上下載穩定版本的代碼, 不要去GitHub直接拉預設的工程有幾個路徑和宏之類的不對, 小改一下就可以如果缺檔案, 可以到GitHub的曆史版本裡去找編譯好了就一個lib, 一個dll, pdb看需要環境配置C++這邊肯定要連結mono.lib, 所以dll要拷貝到exe的目錄除了mono本身外, 還需要.net的runtime assembly, 最精簡的情況只需要一個mscorlib.dll,
Time of Update: 2018-12-04
今年Autodesk到我們那兒招聘實習生的題目是矩陣計算。其中要用到任意階數的矩陣求逆。憑我線性代數55分的腦袋瓜,能理解的演算法也就是最笨的那種啦~中間還要求任意階數的行列式的值,想想就頭疼。結果在慌亂之間,必要的一步n個數的全排列產生也不會寫了。結果自然是“可恥的失敗鳥…”,一怒之下,回來補完!第一次看到這個演算法是在軟體設計師的輔導書上。代碼如下,在VC++ 7.0下調試通過。 // Permutation.cpp :
Time of Update: 2018-12-04
htm版本:http://man.chinaunix.net/develop/c&c++/linux_c/default.htmhttp://blog.chinaunix.net/uid-20785773-id-495082.htmlLinux
Time of Update: 2018-12-04
序列化這個比較簡單, .net直接就支援, 以XML序列化為例:public static string SerializeToString (object obj){XmlSerializer serializer = new XmlSerializer (obj.GetType ()); using (StringWriter writer = new StringWriter()) {serializer.Serialize (writer, obj); return
Time of Update: 2018-12-04
以前用過lua, 調試時很痛苦. 當然現在已經有比較成熟的調試器了, 比如decoda在沒有調試器之前都是怎麼調試的呢?printf列印到控制台之類的輸出視窗. 如果做了熱更新的話可以邊改邊看輸入命令, 讓控制台顯示結果. 對於C++來說控制台是個很不爽的東西, 因為每個指令都要寫個解析函數. 而指令碼則可以直接把指令碼語句當指令敲進去, 比如CsharpRepl當然, 最理想的情況還是能夠下斷點, 單步跟蹤Unity使用MonoDevelop作為調試器, 幸運的是,
Time of Update: 2018-12-04
先要瞭解一下C語言裡所有的位元運算都是指位元的位元運算。即使輸入的是十進位的數,在記憶體中也是儲存為二進位形式。 “<<”用法: 格式是:a<<m,a和m必須是整型運算式,要求m>=0。 功能:將整型數a按二進位位向左移動m位,高位移出後,低位補0。 “>>”用法: 格式是:a>>m,a和m必須是整型運算式,要求m>=0。
Time of Update: 2018-12-04
目前看到了幾種選擇:SWIG這個叫做"director"的機制不是真正的派生, 只是看起來像而已C#裡的類只是封裝了一個C++對象的指標, 所有調用都是通過P/Invoke完成的, 實際上是兩個不同的對象CXXI通過改變C++對象的vtable實現派生通過DLL(so)的匯出方法名來取得函數指標通過解析GCCXML來產生C++類的C#聲明MSVC的支援還沒有完成, 可以參考這個去完善: Inheriting From a Native C++ Class in
Time of Update: 2018-12-04
c++中的explicit關鍵字及隱式類型轉換c++中的explicit關鍵字用來修飾類的建構函式,表明該建構函式是顯式的,既然有"顯式"那麼必然就有"隱式",那麼什麼是顯示而什麼又是隱式的呢?如果c++類的建構函式有一個參數,那麼在編譯的時候就會有一個預設的轉換操作:將該建構函式對應資料類型的資料轉換為該類對象,如下面所示:class MyClass{public:MyClass( int num );}....MyClass obj = 10; //ok,convert int to
Time of Update: 2018-12-04
1。建立一個解決方案,命名dll_object 同時產生一個DLL項目 (建立--c++win32項目---DLL項目),本項目的最終結果是產生了dll_object.dll和dll_object.lib 2.在解決方案中添加一個新項目dll_object_client(添加--建立項目--win32控制台程式),在本項目中引用到了前一個項目的產生結果,故進行設定項目產生順序和依賴項3..產生解決方案,可以看到底二個項目的EXE檔案產生到第一個項目的目錄下,點擊運行即可查看效果。
Time of Update: 2018-12-04
int main(int agrn, char **agrv){ int row, col; int i,j; row=10, col=10; double **M; M=new double*[row]; for ( i=0; i<row; i++) { M[i]=new double[col]; } for ( i=0; i<row; i++) { for ( j=0; j<col; j++) { M[i][j]=i*j; cout<<M[i]
Time of Update: 2018-12-04
第一種優點 M[i][j];第二種 必須 A[ i*col+j]=M[i][j];#include <iostream>#include <stdlib.h>#include <time.h>using namespace std;int main(int agrn, char **agrv){ int row, col; int i,j; row=5000, col=1000; clock_t start, finish; start=clock();
Time of Update: 2018-12-04
matlab code幫同學寫的.... X, Y 列數要相同unction [w, lambda, s_minus, s_plus, theta]=eda(X,Y)[m,n]=size(X);[s,l]=size(Y);if n~=l disp('the Matrix X, Y must have the same num of col');else epsilon=10^-6; %定義非阿基米德無窮小 f=[zeros(1,n)
Time of Update: 2018-12-04
論C++建構函式中的不合理設計 作者:張岩 發布時間:2001/03/20 文章摘要: 在C++中,建構函式是一個在構建對象的時候調用的特殊的函數,其目的是對對象進行初始化的工作,從而使對象被使用之前可以處於一種合理的狀態。但是,建構函式的設計並不完美,甚至有些不合理的特性。本文對這些問題進行了探討,並提出了一些解決的方案。
Time of Update: 2018-12-04
COM中的對象與C++中的對象 作者:樓國富 發布時間:2001/02/07 文章摘要: 學COM技術也有一段時間了,總覺得COM中的有些概念比較難,比如說對象這個概念就與C++中的對象概念大有不同,本文對此進行簡單剖析,供初學者參考。
Time of Update: 2018-12-04
經典的C++庫 STLport-------SGI STL庫的跨平台可移植版本,在以前有些編譯器離符合 標準比較遠的情況下 那時還是有用的,當然目前vc71已經比較接近標準了, 故目前不怎麼用它了。 Boost---------准標準庫, 功能強大 涉及能想的到的大部分非特別領域的演算法, 有一個大的C++社區支援 WxWindows-----功能強大的跨平台GUI庫 ,它的功能和結構都類似 MFC,故原則上
Time of Update: 2018-12-04
C++類繼承關係問題 在C++中繼承主要有三種關係:public、protected和private。這三種繼承關係中public繼承是最為常用的一種繼承關係,代表了介面繼承含義,而他們分別具體代表了什麼含義呢?1. public 從語義角度上來說,public繼承是一種介面繼承,根據物件導向中的關係而言就是,子類 可以代替父類完成父類介面所聲明的行為,也就是必須符合“Liskov替換原則(LSP)”, 此時子類可以自動轉換成為父類的介面,完成介面轉換。
Time of Update: 2018-12-04
用DEF從DLL匯出一個函數,或用__declspec(dllexport)指令從DLL中匯出一類,想必大家已經很熟悉了,也經常使用著。這裡向大家介紹一種用DEF檔案從DLL匯出一個類的方法。具體原理或為什麼就不廢話了,學會匯出後,再慢慢回味吧。這裡主要敘述操作步驟。1。開啟VC6.0,建立一個"Win32 Dynamic-Link Library"工程,假設叫DefClass,在“Dll kind”選擇介面中選擇“A simple dll project”2。建立一個檔案,命名為DefClas
Time of Update: 2018-12-04
方法一:用[0,1]均勻分布類比:轉自http://blog.xoyo.com/jaysara/article/295603.shtml double gauss(doulbe mean,double sigam,long int s)...{int i; double x,y;for(x=0.0;i=0;i<50;i++)...{x=x+uniform(0.0,1.0,s) x=x-n/12; y=mean+sigma*x}} 方法2:在CARMEN原始碼裡看到的,具體原理還沒看,好像是
Time of Update: 2018-12-04
Linear AlgebraMTL, the Matrix Template Library. Dense and sparse matrices and vectors; banded, symmetric, triangular matrices; basic algorithms. C++. 矩陣模版庫,緊密和疏鬆陣列、向量,帶狀,對稱、三角矩陣,基本演算法(C++語言)uBLAS, BLAS in C++ with expression templates.
Time of Update: 2018-12-04
[Item 19]:the copy constructor defines how pass-by-value is implemented for a type.If you wish to allow other classes to inherit from your class, that affects whether the functions you declare are virtual, especially your destructor.on the off