Time of Update: 2018-12-05
WPF運行在CLR上的,它的代碼是Managed 程式碼。C++編寫的DLL代碼是非託管的。在WPF中調用C++編寫的DLL代碼需要使用: using System.Runtime.InteropServices; [DllImport("Dll.dll", EntryPoint = "add",CallingConvention=CallingConvention.Cdecl)] public static extern int add(int a, int
Time of Update: 2018-12-05
今天看Bjarne Stroustrup 的《The Design and Evolution of C++》,看到其中說85年前,他也想過把自動記憶體回收(GC)系統加入C++語言,沒能實現的原因是當時的電腦效能跟不上,系統無法承受。做了好幾年的C++開發,為記憶體問題不知頭疼過多少次的我,突然想,既然當時是因為客觀原因不能實現的,讓我們羨慕了Java和C#開發人員這麼多年,現在可觀條件已經滿足了,為什麼C++委員會不能再修改一下C++,將GC加進去呢?這對我們將是多大的福利啊
Time of Update: 2018-12-05
這裡我們要發送一個POST請求,並接受返回的資料:namespace Yelbosh{class Post{static void main(string[] args){sentence = "你好吧";Encoding encoding = Encoding.GetEncoding("UTF-8");Stream outstream = null; Stream instream = null; StreamReader sr = null;
Time of Update: 2018-12-05
今天看系統程式設計的時候看到一個程式,思來想去感覺最後的結果跟自己想的不太一樣.後來終於弄明白了,現在貼上:#include <stdio.h>void Initialize (char * a, char * b){ a[0] = 'T'; a[1] = 'h'; a[2] = 'i'; a[3] = 's'; a[4] = ' '; a[5] = 'i'; a[6] = 's'; a[7] = ' '; a[8] = 'A';
Time of Update: 2018-12-05
摘自: http://www.pcjx.com/Dotnet/C/208333.html 我們在做能自動產生試卷的考試系統時,常常需要隨機產生一組不重複的題目,在.net
Time of Update: 2018-12-05
一、十進位 轉換成 n 進位 這裡要求 1< n <= 9 轉換函式實現如下 //將十進位 dec 轉換成 n 進位,結果存在 other中,other在外部分配記憶體void Decimal_to_Other(int dec, char *other, int n){//1 < n <= 9int i=0;int dec_copy = dec;char* tmpArray = new char[64];while(dec_copy !=
Time of Update: 2018-12-05
/************************************************************************************************ * 名 稱:exceptions.cpp * 功 能:學習C++ Premier 的筆記之異常處理 * 描 述:拋出自訂異常類對象 拋出內建類型對象(如int) 雖然C++支援異常,但是C++程式中還是盡量使用其他的錯誤處理技術(C++ Premier) * 作
Time of Update: 2018-12-05
/************************************************************************************************ * 名 稱: friend.cpp * 功 能:學習C++ Premier 的筆記之操作符重載,友元 * 描 述:1、友元函數:允許函數訪問類的所有成員。 2、直接重載操作符,則其中一個運算元必然是本類 3、使用友元重載操作符,則可以任意選擇運算元,注意 1
Time of Update: 2018-12-05
1. 利用Mutex 互斥對象#include <iostream.h>#include <windows.h>DWORD WINAPI Fun1Proc(LPVOID lpParameter);DWORD WINAPI Fun2Proc( LPVOID lpParameter);int tickets = 100;HANDLE hMutex; //互斥對象int main(){HANDLE hThread1,hThread2;hThread1 =
Time of Update: 2018-12-05
早前看到過一句話 "Visual Studio 2010的介面是使用WPF開發的“後來又看到”C語言的編譯器,通常使用C語言或C++語言開發“咋看上去,有點”自己生自己“的意思 和”雞生蛋,蛋生雞“的迷惑。WPF本身就是Visual Studio 中提供的一種開發項目模板,怎麼Visual Studio 的介面是用它開發的?是現有的Visual Studio
Time of Update: 2018-12-05
從網上淘了一段 檔案加密的程式,看完之後,明白了它所謂的檔案加密,其實原理相當簡單: 即是按位元組 或 按位 讀取一個要加密的檔案中的資料,然後與我們自己輸入的密碼做一些 演算法操作,將新的資料寫入到新檔案中,這個新檔案就是我們的加密後的檔案。
Time of Update: 2018-12-05
不止一次遇到,特此記下,以防再望下面的代碼會報錯int i=0;switch(i){case 1:int j=1;break;case 2:i++;break;default:break;}Error 1 error C2360: initialization of 'j' is skipped by 'case' labeld:\programing\windows\basicwindows\varable_list_test\varable_list_test.cpp55Error 2
Time of Update: 2018-12-05
*--- 要點 ---*1. 先行編譯指令 、ANSI標準宏2. 位元組對齊3. 關鍵字4. 可變形參列表5. assert*--- 詳解 ---**--- 代碼 ---*#include <stdio.h>#include <stdlib.h>#include <stdarg.h> //va_list#include <assert.h> //assert#define _DEBUG_INFO_#define AUTHOR
Time of Update: 2018-12-05
模組(類)注釋規範模組開始必須以以下格式編寫模組注釋///<summary>///模組編號:<模組編號,可以引用系統設計中的模組編號>///作用:<對此類的描述,可以引用系統設計中的描述>///作者:作者中文名///編寫日期<模組建立日期,格式:YYYY-MM-DD>///</summary> 如果模組有修改,則每次修改必須添加以下注釋///<summary>///Log編號:<Log編號,從1開始一次增加>//
Time of Update: 2018-12-05
以下程式主要包括三個主要函數:一個最簡單的可變形參函數執行個體;一個簡單的printf功能的執行個體;一個列印字串函數(輔助);其中myPrintf函數,實現了printf的部分簡易功能,並沒有去實現格式化輸出操作(%2d %.2f 等),因為只是它一個執行個體而已,目的是更好理解掌握可變參數。後續有興趣時,我會繼續完善的。 /*************************************************************************************
Time of Update: 2018-12-05
*--- 要點 ---*1. 類2. 繼承3. 虛基類4. 虛函數,純虛函數,抽象類別5. 運算子多載和友元6. 模版7. 單一實例*--- 詳解 ---*1. 虛基類 (詳細講解) http://blog.renren.com/share/222770247/8361030810 【為什麼引入虛基類】 多重繼承時,如果類B1和B2都繼承自類A,類C又繼承自B1和B1,會出現如下問題 (1) C中就有兩個A的基類對象
Time of Update: 2018-12-05
如果將範圍A的變數地址賦給在範圍B的變數指標。當A中相應變數的生存周期結束後,會使B的指標出現“懸垂指標”的現象(懸垂指標指向曾經存放對象的記憶體,但該對象已經不再存在了。懸垂指標往往導致程式錯誤,而且很難檢測出來。)如下代碼:#include<iostream>#include <windows.h>using namespace std;int *p=NULL;void fun(){int i=10;p=&i;}void
Time of Update: 2018-12-05
上次我講了ms 的nmake命令來進行編譯多個cpp檔案。這次我想一步步的自己來,不再通過makefile的協助。首先注意以下幾點:1、#include指令的機制就是講.h檔案中的內容複寫到.cpp檔案中,所以你只需要編譯cpp檔案。h檔案只是一個陪襯。另外注意.h中的聲明語句一定要記得在最後加上分號表示結束,否則編譯器會報錯。你可以把h檔案省去而直接加到cpp檔案中,但是在之後的每一個檔案中你就需要重寫該類或者函數的聲明。所以這也是h檔案存在的原因。2、你可以通過cl
Time of Update: 2018-12-05
之前寫了一個cmm的解譯器,並且自己設計實現了函數調用。當時設計的時候並沒有看c編譯器是如何?的,不過今天看了深入理解電腦系統之後,發現我的設計方法和c的還真的特別像,現在就簡單總結一下,因為裡面涉及了很多的彙編知識,所以不懂彙編的童鞋最好先看一下彙編:首先我想說的是一個最重要的思想,那就是相對定址的思想,如果沒有這個方法,那麼編寫程序呼叫幾乎是不可能的。因為電腦指令是以變數的地址作為運算元的,那麼也就意味著你在產生代碼的時候要事先把變數的地址都給算出來。但是程序呼叫有時候是不確定的,比如遞迴,
Time of Update: 2018-12-05
SquareTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5902 Accepted Submission(s): 1882Problem DescriptionGiven a set of sticks of various lengths, is it possible to join them end-to-end to