Time of Update: 2015-07-01
標籤:c/c++ c/s架構 非同步多線程 網路編程 曾經在上家公司做了一個內網P2P的傳輸工具名曰gingko更多例子,比如:一個自訂協議的client、server等請移步github這套庫的穩定性大家不用質疑,已經用在了我現在公司的上萬台伺服器的很多網路Daemon上歡迎加入Reboot營運開發兩千人QQ群(365534424)交流探討很早以前了,當時太菜
Time of Update: 2015-06-30
標籤:ubuntu一、ubuntu下gcc/g++/gfortran的安裝 1.安裝 (1).gcc ubuntu下內建gcc編譯器。可以通過“gcc -v”命令來查看是否安裝。(2).g++ 安裝g++編譯器,可以通過命令“sudo apt-get install build-essential”實現。 執行完後,就完成了gcc,g++,make的安裝。build-essential是一整套工具,gcc,libc等等。 通過“g++ -v”可以查看g++是否安裝成功。註:“sudo
Time of Update: 2015-06-30
標籤:C++將賦值運算式作為運算式的一種,使賦值操作不僅可以出現在指派陳述式中,而且可以以運算式形式出現在其他語句(如輸出語句、迴圈語句等)中。這是C++語言靈活性的一種表現。請注意,用cout語句輸出一個賦值運算式的值時,要將該賦值運算式用括弧括起來,如果寫成“cout<<a=b;”將會出現編譯錯誤。C++提供一種特殊的運算子——逗號運算子。用它將兩個運算式串連起來。如
Time of Update: 2015-06-30
標籤: 互斥控制是為了避免一個線程在使用某一個對象或全域變數與其他線程發生衝突。實現線程互斥的方法有:(1)存取碼委託給VCL主線程執行。線上程中若要調用可視化的方法或訪問其屬性,可將執行代碼委託給VCL主線程執行,否則會發生並發存取違規。委託的方法是先將使用可視化組件的代碼單獨編成一個函數,函數原型是void 函數名(void),然後電泳TThread類的成員函數Synchronize(函數名)來調用它,VCL主線程順序執行所有組建對該組建的訪問(包括響應人機介面事件、wi
Time of Update: 2015-07-01
標籤:c++ string int 在C++中會碰到int和string類型轉換的。string -> int首先我們先看兩個函數:atoi這個函數是把char * 轉換成int的。應該是屬於標準庫函數。在想把string 轉換成int的時候,需要以下流程:string -> char * -> int如此才可以,例子如下:string a = "1234";int b =
Time of Update: 2015-06-30
標籤:c++ 泛型 物件導向 1.
Time of Update: 2015-06-30
標籤:c++ 組合語言 共同編譯 效能提升 由於組合語言比C++更接近硬體底層,所以在效能要求高的程式中往往可以採取在C++代碼中嵌入彙編的方式來給程式提速。 在VC中可以簡單的通過__asm{//在這裡添加彙編代碼}
Time of Update: 2015-06-30
標籤:#define與typedef的區別 預先處理 編譯 廢話不多說,請看下面程式:#include<iostream>using namespace std;#define SIGN1 char* //typedef char * SIGN2;//typedef是一條語句所以以分號結尾int main(){SIGN1 ch1,ch2;SIGN2 ch3,ch4;cout<
Time of Update: 2015-06-30
標籤:《C++ 並發編程》- 第1章 你好,C++的並發世界 轉載自並發編程網 – ifeve.com 本文是《C++
Time of Update: 2015-06-30
標籤:[cpp] view
Time of Update: 2015-06-30
標籤://將位元逆序輸出。比如6為000...0110,逆序後為0110...000#include <stdio.h>unsigned int reverse_bit(int num){int i;int bit;unsigned new_num = 0;for (i = 0; i < 32; i++){bit = num & 1; //取出最後一位new_num <<= 1; //新數左移new_num
Time of Update: 2015-06-30
標籤:// 給一組數,有兩個數只出現了一次,其他所有數都是成對出現的。找出這兩個數。#include <stdio.h>void find_two_diff(int arr[], int len, int *num1, int *num2)//設定兩個返回型參數{int i = 0;int ret = 0;int pos = 1;*num1 = 0;*num2 = 0;for (i = 0; i < len; ++i){ret ^= arr[i];}//
Time of Update: 2015-06-30
標籤://求兩個數中不同的位的個數#include <stdio.h>int count_different(int a, int b){int count = 0;int c = a^b; //a,b中不同的位即為1while (c){count++;c = c&(c - 1); //把c中最後一個1去掉}return count;}int main(){printf("%d\n", count_different(3,8)); //
Time of Update: 2015-06-30
標籤:最小二乘轉載請註明出處:http://blog.csdn.net/lsh_2013/article/details/46697625最小二乘法(又稱最小平方法)是一種數學最佳化技術。它通過最小化誤差的平方和尋找資料的最佳函數匹配。c++實現代碼如下:#include <iostream>#include <vector>#include <cmath>using namespace std;//最小二乘擬合相關函數定義double
Time of Update: 2015-06-30
標籤:首先結構是實值型別。結構是使用 struct 關鍵字定義的,結構如下:struct 結構名{}結構概述結構具有以下特點:結構是實值型別,而類是參考型別。 (結構不能包含顯式的無參數建構函式)與類不同,結構的執行個體化可以不使用 new
Time of Update: 2015-06-30
標籤:1.“==”和Equals兩個真的有關聯嗎? 對於“==”和Equals大多數網友都是這樣總結的:“==” 是比較兩個變數的值相等。Equals是比較兩個變數是否指向同一個對象。 如:這篇文章,並以這篇文章中的例子為例。 public class Person {
Time of Update: 2015-06-30
標籤:1、調用欄位 cs檔案的代碼: public int id = 0; protected void Page_Load(object sender, EventArgs e) { id = 2; }View Code js頁面的代碼:function CheckFunc() { alert("<%= id%>"); }View
Time of Update: 2015-06-30
標籤:談到C#Regex,標題還是有點偏了,Regex是所有語言都支援,不僅僅是C#,但是Regex的定義確實變化多樣,不能運算式實現不同效果:Regex的基礎知識:/******************************************常用元字元********************************************************/代碼說明.匹配除分行符號以外的任一字元\w匹配字母或數字或底線或漢字\s匹配任意的空白符\d匹配數字\b匹配單詞的開始或結束
Time of Update: 2015-06-30
標籤:我是一名QA,我提bug以後有個習慣,就是將bug的jira地址儲存為一個連結存在本地,如下:每天都要手動的把日期“【XX.XX】”添加在裡面,這個反覆修改檔案名稱的過程是比較枯燥的,於是我決定寫一個表單tool來實現,表單如下:點擊選擇後會跳出選擇的folder路徑的介面,這個地方用到了FolderBrowserDialog控制項:之後點擊修改就可以修改選擇的folder路徑下所有的檔案名稱了。整個表單的代碼如下:using System;using
Time of Update: 2015-06-30
標籤: #region 獲得兩個日期的間隔 /// <summary> /// 獲得兩個日期的間隔 /// </summary> /// <param name="DateTime1">日期一。</param> &