Time of Update: 2018-08-03
C代碼最佳化方案 1、選擇合適的演算法和資料結構 2、使用盡量小的資料類型 3、減少運算的強度 (1)、查表(遊戲程式員必修課) (2)、求餘運算 (3)、平方運算 (4)、用移位實現乘除法運算 (5)、避免不必要的整數除法 (6)、使用增量和減量操作符 (7)、使用複合賦值運算式 (8)、提取公用的子運算式 4、結構體成員的布局 (1)按資料類型的長度排序 (2)把結構體填充成最長類型長度的整倍數 (3)
Time of Update: 2018-07-29
用戶端代碼: #-*-encoding:utf-8-*- import socket import os import sys import math import time import threading def getFileSize(file):
Time of Update: 2018-07-29
調試winform程式的時候使用托盤表徵圖遇到關閉了程式但是托盤表徵圖並沒有消失的情況,但是滑鼠滑過表徵圖就消失了,這樣軟體開啟關閉次數多了會出現在托盤堆積大量表徵圖的情況,開始以為是作業系統重新整理問題,後來使用手動釋放表徵圖資源問題解決。 具體就是使用如下方法: Dispose() Releases all resources used by
Time of Update: 2018-07-30
今天寫線程函數時,發現msdn中對ThreadProc的定義有要求:DWORD WINAPI ThreadProc(LPVOID lpParameter); 不解為什麼要用WINAPI宏定義,查了後發現下面的定義。於是乎需要區別__stdcall和__cdecl兩者的區別; #define CALLBACK __stdcall #define WINAPI __stdcall
Time of Update: 2018-07-30
以下是對C++中不能重載為友元函數的四個運算子進行了詳細的分析介紹,需要的朋友可以過來參考下 C++規定有四個運算子 =, ->, [], ()不可以是全域域中的重載(即不能重載為友員函數),這是為什麼呢。 現在先說說賦值運算子“=”的重載 C++規定賦值運算子“=”只能重載為類的非靜態成員函數,而不可以重載為類的友元函數。
Time of Update: 2018-07-30
#include <stdio.h>#include <sys/io.h> #include <stdlib.h>#include <errno.h>#include <string.h>#include <fcntl.h>#include <sys/types.h>#include <sys/socket.h>#include <time.h> #include
Time of Update: 2018-07-30
一維 role_type= {"rule","npc","building"} int luaEx_TestGetTable (LuaState * L) { LuaStack args(L);
Time of Update: 2018-07-30
這幾天在寫一個server,由於架構相同,僅僅是擷取資料來源的地方有區別,所以,研究了一下如何使用物件導向的方法來動態載入so。 主要思想就是: 1.通過一個函數能夠獲得一個基類的指標,這樣在調用基類的函數的時候,就能自動調用子類的實現了。 2.儲存so對象的指標應該是外層類的一個static變數。 詳細還是看代碼吧: 1)首先定義一個公用的標頭檔,裡面儲存的基類的定義:(需要注意的就是,只要不是純虛函數,那麼就一定要有實現;還有就是解構函式需要為虛函數)
Time of Update: 2018-07-30
CRC16常見的標準有以下幾種,被用在各個規範中,其演算法原理基本一致,就是在資料的輸入和輸出有所差異,下邊把這些標準的差異列出,並給出C語言的演算法實現。 CRC16_CCITT:多項式x16+x12+x5+1(0x1021),初始值0x0000,低位在前,高位在後,結果與0x0000異或 CRC16_CCITT_FALSE:多項式x16+x12+x5+1(0x1021),初始值0xFFFF,低位在後,高位在前,結果與0x0000異或 CRC16_XMODEM:多項式x16+x12
Time of Update: 2018-07-31
比較簡單的Generic Makefile for C/C++ Program 參考網上資料寫的一個簡單的能夠編譯C/C++混合工程的Makefile【網上大多通用Makefile很長且未有解釋,故寫此文檔】 暫未遇到問題,本人不甚精通,檔案未經實際使用錘鍊,如有問題請聯絡:liyanbin0027@163.com 牆裂歡迎指正與交流。 本Makefie需要讀者有一定的Makefile基礎知識
Time of Update: 2018-08-02
前言 相信大家在c語言程式開發的過程一定都使用過結構體,那麼不知你對結構體中成員變數位移這塊是如何理解的。本文將和大家一起分享下,本人最近關於c語言中結構體位移的一些思考和總結。 另外這篇博文還可以幫你更好的理解這個問題c語言中兩種宏定義的區別,關於這個思考有哪些方面的意義,細心的你可能發現本文所屬的類別為linux核心設計與實現,而並非 GNU C語言編程,可能有些同學會有些許好奇。不過不用著急,如果對本篇博文意義感興趣的同學,可繼續關注後續的博文,會有進一步的闡述。
Time of Update: 2018-08-02
空間配置器 從STL的實現來說,首先需要明白的就是空間配置器,因為整個STL的操作對象都放在容器中,而容器需要一定配置空間以置放資料。 空間配置器的標準介面 //
Time of Update: 2018-08-04
按位邏輯運算,屬性設定 按位邏輯運算在高效率的資料操作中應用很多,平時用的進階語言裡面,多數時候不需要我們去手動設定這些,因為已經被封裝在各種模組/類裡面了。 在需要手動定義一些功能的時候,這些運算方法很值得使用。 有一點要注意就是,所有按位元運算都是二進位位的按位元運算,如果資料採用十進位或者十六進位表示,實際上也是採用二進位的按位元運算。 按位與: & 0&0=0; 1&0=0; 0&1=0; 1&1=1; (1不變,0變為0)
Time of Update: 2018-08-03
1. 堆排序 堆排序的定義及思想可以參考百度百科:堆排序 用一句概括,堆排序就是一種改進的選擇排序,改進的地方在於,每次做選擇的時候,不單單把最大的數字選擇出來,而且把排序過程中的一些操作進行了記錄,這樣在後續排序中可以利用,並且有分組的思想在裡面,從而提高了排序效率,其效率為O(n*logn). 2. 原始碼 堆排序中有兩個核心的操作,一個是建立大頂堆(或者小頂堆,這裡用的是大頂堆),再一個就是對堆進行調整。這裡需要注意的是,並沒有真正的建立堆,只是利用完全二叉樹的特性,
Time of Update: 2018-08-06
題目要求: The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211, 111221, … 1 is read off as “one 1” or 11. 11 is read off as “two 1s” or 21. 21 is read off as “one 2, then one 1” or 1211. Given an integer n,
Time of Update: 2018-08-18
目錄一、前言二、ConcurrentBag類三、 ConcurrentBag安全執行緒實現原理1. ConcurrentBag的私人欄位2. 用於資料存放區的TrehadLocalList類3. ConcurrentBag實現新增元素4. ConcurrentBag
Time of Update: 2018-08-17
標籤:command 載入 one cell 技術 tom 方案 ESS 個人 在網上查了一下:duplicate
Time of Update: 2018-08-17
標籤:2.0 需要 技術分享 第一個 runtime htm 情況 div 空格 1、首先你需要到 IKVM官網
Time of Update: 2018-08-11
標籤:oid 欄位 use false ++ 目錄 person 集合 field 目錄結構:contents structure
Time of Update: 2018-08-06
標籤:html lease 字串類 多線程 興趣 stopwatch actor app cto 轉自:https://www.cnblogs.com/doforfuture/p/6293926