Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 對於編寫多線程的朋友來說,線程互斥是少不了的。在linux下面,編寫多線程常用的工具其實是pthread_mutex_t。本質上來說,它和Windows下面的mutex其實是一樣的,差別幾乎是沒有。希望對線程互斥進行詳細瞭解的朋友可以看這裡。#include <stdio.h>#include <pthread.h>#include
Time of Update: 2018-12-03
瀏覽看雪論壇,發現有人講了一個有趣的C語言程式。原帖地址:http://bbs.pediy.com/showthread.php?p=389887我做了一點點的修改,最後列印出 i O y(中間那個是個心的形狀,運行程式就知道了)#include <stdio.h>int main(){ const short int c1 = 49920; const int c2 = 1073742008; int (*pf)() = (int (*)())&c2;
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 泛型程式設計其實不難。本質上說,泛型程式設計就是讓通用的演算法應用到所有的資料類型。具體來說,int是我們熟悉的整數類型。那麼一般情況下,如果我們寫一個int整數的排序演算法,應該怎麼寫呢?大家可以自己試試?下面的代碼是我的一個範例;void bubble_sort(int array[], int length){int temp = 0;int outer = 0;int
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 所謂進程等待,其實很簡單。前面我們說過可以用fork建立子進程,那麼這裡我們就可以使用wait函數讓父進程等待子進程運行結束後才開始運行。注意,為了證明父進程確實是等待子進程運行結束後才繼續啟動並執行,我們使用了sleep函數。但是,在linux下面,sleep函數的參數是秒,而windows下面sleep的函數參數是毫秒。#include
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 訊號處理是linux程式的一個特色。用訊號處理來類比作業系統的中斷功能,對於我們這些系統程式員來說是最好的一個選擇了。要想使用訊號處理功能,你要做的就是填寫一個訊號處理函數即可。一旦進程有待處理的訊號處理,那麼進程就會立即進行處理。#include <stdio.h>#include <stdlib.h>#include <signal.h>int
Time of Update: 2018-12-03
曾經碰到過讓你迷惑不解、類似於int * (* (*fp1) (int) ) [10];這樣的變數聲明嗎?本文將由易到難,一步一步教會你如何理解這種複雜的C/C++聲明。 我們將從每天都能碰到的較簡單的聲明入手,然後逐步加入const修飾符和typedef,還有函數指標,最後介紹一個能夠讓你準確地理解任何C/C++聲明的“右左法則”。 需要強調一下的是,複雜的C/C++聲明並不是好的編程風格;我這裡僅僅是教你如何去理解這些聲明。注意:為了保證能夠在同一行上顯示代碼和相關注釋,
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 早在八月份的時候,就陸陸續續寫了二十多篇用組合語言看C++的部落格內容。在此為了做一個概括,也為了朋友們看起來更方便,我們利用這麼一篇部落格對所有的文章做一個總結。如果有朋友們在觀看的過程當中發現了問題,懇請多多指教,謝謝。 01)用彙編的眼光看C++(開篇) 02)用彙編的眼光看C++(之X86彙編) 03)用彙編的眼光看C++(之指標1,2)
Time of Update: 2018-12-03
RTTI與type_infoC++在編譯時間開啟RTTI(Run-Time Type
Time of Update: 2018-12-03
1)Nullable類型一個Nullable類型就是基本類型加上一個“是否為null指標”的合成類型。對於一個類型,如果既可以給它分配一個值,也可以給它分配null引用(表示沒有任何值),我們就說這個類型是可以空的。因此,可空類型可表示一個值,或表示不存在任何值。例如,類似String的參考型別就是可空類型,而類似Int32的實值型別不是可空類型。由於實值型別的容量只夠表示適合於該類型的值,因此它不可為空白。有些人認為int型變數的值為0就表示空,這是不對的,0也是它的值,而並不表示空。看下面的
Time of Update: 2018-12-03
在工程中如果給form的button定義了熱鍵,無疑會給軟體的可用性增加很大的籌碼。方法一:在button的text屬性中輸入&f,這樣alt+f或者直接按f就可以 響應相應的button的click事件,f後的字母不做計算。但是這樣做有一個缺點,就是只能定義字母熱鍵,像f1,方向鍵,會車鍵等等都不能定義。而且button的text顯示時,帶著這個字母。這樣就給我們帶來麻煩,尤其是如果輸入漢語時,還得帶著個英文字母。不過倒是可以提醒使用者哪個鍵是熱鍵,呵呵。方法二:下面是代碼,很簡單的。prot
Time of Update: 2018-12-03
1.只要求保留N位不四舍5入 float f = 0.55555f; int i =(int)(f * 100); f = (float)(i*1.0)/100; 2.保留N位,四捨五入 . decimal d= decimal.Round(decimal.Parse("0.55555"),2);3.保留N位四捨五入Math.Round(0.55555,2)4,保留N位四捨五入 double dbdata = 0.55555
Time of Update: 2018-12-03
其實只要用到Socket聯結,基本上就得使用Thread,是交叉使用的。C#封裝的Socket用法基本上不算很複雜,只是不知道託管之後的Socket有沒有其他效能或者安全上的問題。在C#裡面能找到的最底層的操作也就是socket了,概念不做解釋。程式模型如下:WinForm程式 :
Time of Update: 2018-12-03
公司的一個項目快完成了,最後要加上註冊驗證,翻了n多資料,終於做出來了。現在把體驗說一下,以後要用的時候也好找。~~.Net內建的類庫裡面有個演算法。 這個演算法的原理是不對稱式加密的原理。不對稱式加密原理大家基本上都瞭解。加密的密碼(密鑰)分為兩個部分,公開金鑰和私密金鑰。通過私密金鑰加密的密文只能通過公開金鑰解密。根據這個特性,我們可以發現只要開發人員儲存好私密金鑰,即使演算法代碼被用戶端破解,因用戶端不知道儲存在開發人員處的私密金鑰,也無法產生註冊碼。 以下是代碼:using
Time of Update: 2018-12-03
override可以翻譯為覆蓋,從字面就可以知道,它是覆蓋了一個方法並且對其重寫,以求達到不同的作用。override是重寫基類的方法,在基類中的方法必須有修飾符virtual,而在子類的方法中必須指明override。 格式: 基類中: public virtual void myMethod() { } 子類中: public override void myMethod() {
Time of Update: 2018-12-03
在用電腦的一些智能演算法(GA,PSO,ANN etc.)模擬時經常需要隨機產生初始種群(初始樣本),看看<stdlib.h>中的這兩個函數的偽隨機數產生吧~~~1. 產生[a,b]之間的一個實數和一個整數[cpp] view plaincopy/* 定義函數 int rand(void); 函數說明 rand()會返回一隨機數值,範圍在0至RAND_MAX 間。 在調用此函數產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand(
Time of Update: 2018-12-03
首先看這樣一個程式int a, b;a = a + b;b = a - b; 此時b = (a + b) - b = a; (經過第一步a為a+b)a = a - b; 此時a = (a + b) - a = b; (經過第二步時b已為a)可見這個程式實現了a和b的交換。注意+和-互為逆運算,可以得到(a+b)-b=a,埋個伏筆先。在看這個例子:int a, b;a = a ^ b;b = a ^ b;a = a
Time of Update: 2018-12-03
以下列舉出一部分,歡迎補充。圖書資訊大部分出自豆瓣。以書均有電子版下載連結,本人法盲,如有侵權問題請告知,我將刪除所有連結和電子資源。還請大家買紙質版書籍,尊重著作權。《c程式設計語言》在電腦發展的曆史上,沒有哪一種程式設計語言像C語言這樣應用廣泛。本書原著即為C語言的設計者之一Dennis M.Ritchie和著名電腦科學家Brian
Time of Update: 2018-12-03
原文連結:http://blog.csdn.net/jing0611/article/details/40302371.記憶體配置方式記憶體配置方式有三種:[1]從靜態儲存地區分配。記憶體在程式編譯的時候就已經分配好,這塊記憶體在程式的整個運行期間都存在。例如全域變數,static變數。[2]在棧上建立。在執行函數時,函數內局部變數的儲存單元都可以在棧上建立,函數執行結束時這些儲存單元自動被釋放。棧記憶體配置運算內建於處理器的指令集中,效率很高,但是分配的記憶體容量有限。[3]從堆上分配,亦稱