锘??xml version="1.0" encoding="utf-8" standalone="yes"?>热RE99久久精品国产66热,一本久久a久久精品综合香蕉,久久久久无码精品国产http://m.shnenglu.com/klsmlzm/category/577.html鏆傛椂鏃?/description>zh-cnWed, 21 May 2008 08:36:42 GMTWed, 21 May 2008 08:36:42 GMT60CVS鏈嶅姟鍣ㄧ殑鐩稿叧閰嶇疆鍙婁嬌鐢╗ Server of CVS Configure and Usage for linux]---娉?姝ゆ暀紼嬫槸"鐏北鍝?鎻愪緵鐨?-)http://m.shnenglu.com/klsmlzm/archive/2006/11/28/15737.html鐗電墰鏁f鐗電墰鏁fTue, 28 Nov 2006 08:18:00 GMThttp://m.shnenglu.com/klsmlzm/archive/2006/11/28/15737.htmlhttp://m.shnenglu.com/klsmlzm/comments/15737.htmlhttp://m.shnenglu.com/klsmlzm/archive/2006/11/28/15737.html#Feedback3http://m.shnenglu.com/klsmlzm/comments/commentRss/15737.htmlhttp://m.shnenglu.com/klsmlzm/services/trackbacks/15737.html 涓銆佸畨瑁?/span>

1 銆?/span> linux 瀹夎濂藉悗宸茬粡瑁呭ソ浜?/span> cvs 錛屽彲鐢?/span> rpm -qa|grep cvs 鏌ョ湅銆?/span>

濡傛灉娌℃湁瀹夎浣犲彲浠ュ湪 Redhat 絎?/span> 2 寮犲厜鐩樹笂鎵懼埌錛屽彟澶栦綘涔熷彲浠ュ湪緗戜笂涓嬭澆鍒版渶鏂扮殑 rpm 鍖呫傚緢瀹規槗鎵撅紝鍏跺疄涓嶅瓨鍦ㄤ粈涔?/span> linux 鐗堟湰銆?/span>

2 銆佸垱寤?/span> cvs 浣跨敤鐨勭洰褰曪細 mkdir /home/mycvstest

3 銆佸垱寤?/span> cvs 浣跨敤鐨勭敤鎴峰拰緇?/span>

groupadd cvs

useradd -g cvs -G cvs 鈥揹 /home/mycvstest cvs

passwd cvs

4 銆佷慨鏀?/span> mycvstest 鐨勭敤鎴鳳細 chown -R cvs:cvs /home/mycvstest

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 chmod 755 /home/mycvstest

5 銆佸垏鎹㈢敤鎴鳳細 su cvs

6 銆佸垱寤烘簮鐮佷粨搴擄細 mkdir /home/mycvstest/drcls drclgw

7 銆佸垵濮嬪寲婧愮爜浠撳簱錛?/span> cvs -d /home/mycvstest/drcls init

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 cvs -d /home/mycvstest/drclgw init

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 聽聽聽chmod 755 /home/mycvstest/drcls drclgw

鍒濆鍖栧悗鍙互鍦ㄧ洰褰曚笅瑙佸埌鏂板鍔犵殑 CVSROOT 鐩綍錛?/span> cvs 鎵鏈夌殑鎺у埗淇℃伅閮藉湪榪欎釜鐩綍閲屻?/span>

8 銆侀鍥炲埌 root 鐢ㄦ埛錛屽緩绔?/span> CVS 鏈嶅姟鍚姩鏂囦歡錛?/span> CVS 浣跨敤 xinetd 鏂瑰紡鍚姩銆?/span>

vi /etc/xinetd.d/cvspserver

service cvspserver

{

disable = no

flags = REUSE

socket_type = stream

wait = no

user = root

server= /usr/bin/cvs

server_args= -f --allow-root=/home/mycvstest/drcls

--allow-root=/home/mycvstest/drclgw pserver

log_on_failure += USERID

}

娉細綰㈣壊鐨勫弬鏁板緢閲嶈錛岀敱浜?/span> xinetd 鐨?/span> server_args 闀垮害闄愬埗 , 褰撲綘鎯寵繍琛屽緢澶氱殑鍗曚釜浠撳簱鐨勬椂鍊?/span> ( 灝辨槸鏈夊緢澶氫釜妯″潡鏃訛紝姣斿 drcrgw), 浣嗗湪 server_args 涓棤娉曡緭鍏ヨ繖涔堝鍗曚釜鐨勪粨搴擄紝 鍙互閲囧彇浠ヤ笅鏂瑰紡瑙e喅錛堢幇鍦ㄥ疄楠屽 90 涓婂氨鐢ㄧ殑榪欑鏂瑰紡錛夛細

#> vi cvspserver

service cvspserver

{

聽聽聽聽聽聽聽 disable = no

聽聽聽聽聽聽聽 socket_type = stream

聽聽聽聽聽聽聽 wait = no

聽聽聽聽聽聽聽 user = root

聽聽聽聽聽聽聽 server = /usr/bin/cvs.run

聽聽聽聽聽聽聽 server_args =""

}

緙栧啓 cvs.run 鑴氭湰

vi /cvsroot/cvs.run

#!/bin/bash

/usr/bin/cvs -f

--allow-root=/home/mycvstest/drcls

--allow-root= /home/mycvstest/drclgw

pserver

chmod a+x cvs.run

9 銆佸姞鍏?/span> cvs 鏈嶅姟錛?/span>

#>vi /etc/services

cvspserver 2401/tcp #pserver cvs service

cvspserver 2401/udp #pserver cvs service

10 銆佸惎鍔?/span> cvs 鏈嶅姟錛?/span>

#> service xinetd restart

11 銆佹鏌?/span> cvspserver 鏈嶅姟鏄惁宸茬粡鍚姩錛?/span>

#> netstat -l |grep cvspserver

搴旇鏈夊涓嬬粨鏋滐細

tcp 0 0 *:cvspserver *:* LISTEN

浜屻佷嬌鐢ㄥ拰綆$悊

1 銆佸垱寤?/span> cvs 鐢ㄦ埛錛?/span>

cd /home/mycvstest/drcls/CVSROOT

htpasswd 鈥揷 passwd zhangcan (htpasswd 鍛戒護瑕佸畨瑁?/span> apache 鍚庢墠鏈夛紝姝ゅ懡浠ゅ垱寤轟竴涓?/span> passwd 鏂囦歡錛岄噷闈㈠唴瀹逛負鏂板緩 cvs 鐢ㄦ埛鐨勭敤鎴峰悕鍜屽瘑鐮?/span> )

vi passwd ( 鍦ㄦ柊寤虹殑鐢ㄦ埛鍚庢墜宸ュ姞鍏ョ敤鎴峰睘浜庣殑緇?/span> cvs)

渚嬪錛?/span> zhangcan:dgeagasdgasdr:cvs 钃濊壊瀛楃涓茶〃紺哄姞瀵嗗悗鐨勫瘑鐮併?/span>

2 銆佽祴浜堢敤鎴瘋鍐欐潈闄?/span>

鎵嬪伐鍦?/span> CVSROOT 鐩綍涓緩绔?/span> readers 鍜?/span> writers 鏂囦歡銆?/span> Readers 鏂囦歡涓殑鐢ㄦ埛鍙湁璇繪潈闄愶紝 writers 涓殑鐢ㄦ埛鍏鋒湁璇誨啓鏉冮檺錛屼竴琛屽彧鍐欎竴涓敤鎴峰悕銆?/span>

3 銆佺櫥褰?/span> cvs

鍦ㄥ鎴鋒満 Linux 涓嬮潰鐢ㄥ懡浠わ細

export CVSROOT=:pserver:zhangcan@192.168.100.197:/home/mycvstest/drcls

cvs login

4 銆佸悜婧愮爜浠撳簱涓鍏ユ簮鐮?/span>

棣栧厛榪涘叆浣犳湰鏈轟笂瀹夎婧愮爜鐨勭洰褰曪紝鐒跺悗浣跨敤浠ヤ笅鍛戒護錛?/span>

cvs import 鈥搈 鈥渢his is my soure code鈥?drcls NISEC test start

-m 琛ㄧず鍦?/span> cvs 鍘嗗彶鏂囦歡鏄劇ず鐨勬秷鎭紝 drclst 涓轟綘鎸囧畾鐨勬簮鐮佺洰褰曞悕錛?/span> NISEC 涓轟緵搴斿晢鏍囩錛?/span> test 涓哄彂琛屾爣絳撅紙榪欎袱欏瑰彲浠ヤ笉瑕侊級錛?/span> start 蹇呴』瑕併?/span>

5 銆?/span> checkout 鍑洪渶瑕佷慨鏀圭殑婧愪唬鐮?/span>

cvs co drcls 鍦ㄤ綘鐨勫綋鍓嶇洰褰曚笅浼氬彂鐜板浜嗕竴涓?/span> drcls 鐩綍錛岃淇敼鐨勬簮鐮侀兘鍦ㄩ噷闈?/span>

co 涓?/span> checkout 鐨勭畝鍐?/span>

6 銆佹彁浜や慨鏀?/span>

鍋囪鍒氭墠瀵?/span> readme 鏂囦歡榪涜浜嗕慨鏀癸紝鐜板湪鎻愪氦

cvs commit 鈥搈 鈥渕odify a few of wrong words鈥?span style="mso-spacerun: yes">聽 readme

鍛戒護鎵ц鍚庝細鎻愮ず鐗堟湰宸茬粡鏀逛負 1.2 銆?/span>

7 銆?/span> checkout 鍑轟互鍓嶇殑鐗堟湰

濡傛灉鎯蟲鍑轟互鍓嶇殑鐗堟湰鍙互鐢ㄤ互涓嬪懡浠わ細

cvs co 鈥搑 1.1 drcls/readme 鎴栬?/span> cvs 鈥揇 yesterday drcls/readme

8 銆佸垹闄ゆ枃浠?/span>

鑻ユ兂浠庢簮鐮佷粨搴撲腑鍒犻櫎 readme 鏂囦歡錛岄鍏堝簲鎶婂鎴鋒満宸ヤ綔鐩綍涓殑 readme 鏂囦歡鍒犻櫎錛岀劧鍚庝嬌鐢?/span> cvs 鐨勫垹闄ゅ懡浠わ紝鏈鍚庢彁浜ゅ垹闄わ紝嫻佺▼濡備笅錛?/span>

rm readme

cvs rm readme

cvs commit 鈥搈 鈥?/span> 鐜板湪涓嶉渶瑕佽繖涓?/span> readme 鏂囦歡 鈥?span style="mso-spacerun: yes">聽 readme

濡傛灉緋葷粺綾諱技閿欒錛?/span> cannot remove file `INSTALL' which has a numeric sticky tag of `1.1'

鍙互鐢ㄥ懡浠?/span> cvs update 鈥揂 readme 鍚庡啀鍒犻櫎鏂囦歡銆?/span>


浠ヤ笂涓虹伀灞卞摜鎻愪緵鐨?浠ヤ笅鏄垜娣誨姞鐨勯儴浠?
1.鍦╮eader鍜寃rites鏂囦歡涓坊鍔犱嬌鐢ㄧ敤鎴鋒椂瑕佹敞鎰?褰撳湪reader涓坊鍔犱簡鏌愪竴鍙鐢ㄦ埛鍚庡氨涓嶈鍦╳riters涓坊鍔犳鐢ㄦ埛,濡傛灉鍦ㄤ袱涓枃浠朵腑閮芥坊鍔犲悓涓鐢ㄦ埛鐨勮瘽,鍦ㄤ嬌鐢╟vs鏃?CVS鏈嶅姟鍣ㄤ細鎶婃鐢ㄦ埛褰撳仛鍙鐢ㄦ埛鐪嬪緟,褰撲嬌鐢ㄤ竴浜涘懡浠ゅimport鏃朵細浜х敓鏉冮檺闂,浠ヤ笅鏄痩inux鍏充簬姝ら棶棰樼殑璇存槑:
/* This command has the potential to modify the repository, so
聽 聽* we check if the user have permission to do that.
聽 聽*
聽 聽* (Only relevant for remote users -- local users can do
聽 聽* whatever normal Unix file permissions allow them to do.)
聽 聽*
聽 聽* The decision method:
聽 聽*
聽 聽*聽 聽 If $CVSROOT/CVSADMROOT_READERS exists and user is listed
聽 聽*聽 聽 in it, then read-only access for user.
聽 聽*
聽 聽*聽 聽 Or if $CVSROOT/CVSADMROOT_WRITERS exists and user NOT
聽 聽*聽 聽 listed in it, then also read-only access for user.
聽 聽*
聽 聽*聽 聽 Else read-write access for user.
聽 聽*/



]]>
LINUX涓嬬畝鍗曠殑緙栬瘧鍜屼嬌鐢ㄥ姩鎬侀摼鎺ュ簱[compile .so use c++ in linux]http://m.shnenglu.com/klsmlzm/archive/2006/04/21/6026.html鐗電墰鏁f鐗電墰鏁fFri, 21 Apr 2006 07:06:00 GMThttp://m.shnenglu.com/klsmlzm/archive/2006/04/21/6026.htmlhttp://m.shnenglu.com/klsmlzm/comments/6026.htmlhttp://m.shnenglu.com/klsmlzm/archive/2006/04/21/6026.html#Feedback0http://m.shnenglu.com/klsmlzm/comments/commentRss/6026.htmlhttp://m.shnenglu.com/klsmlzm/services/trackbacks/6026.html 瀵瑰姩鎬侀摼鎺ュ簱鐨勬蹇靛叾瀹炶繕寰堟ā緋?鑷繁鐨勭悊瑙f槸:
鎶婁竴浜涘父鐢ㄧ殑浠g爜,濡傚嚱鏁?綾葷瓑,緙栬瘧鎴愪竴涓?鍖?鍗矰LL(WINDOWS涓?鎴栬匰O(LINUX涓?鏂囦歡,
鐒跺悗渚涘叾瀹冪▼搴忎嬌鐢ㄦ椂鐩存帴璋冪敤閲岄潰灝侀棴鐨勫嚱鏁板嵆鍙?瀹炵幇鐨勪唬鐮佺殑閲嶇敤,涔熻妭鐪佷簡
紜洏絀洪棿(榪欑偣鍙兘鏄瑕佺殑鍚?.鍦╓IDOWS涓嬪埄鐢╒C++鍙柟渚跨殑鐢熸垚DLL,鍦↙INUX涓嬪垯闇瑕侀氳繃
鍚勭緙栬瘧鍛戒護鏉ュ疄鐜?瀵逛簬鍍忔垜榪欑鑿滈笩綰х▼搴忓憳鏉ヨ鏄釜涓嶅皬鐨勬寫鎴?
涓嬮潰鐢ㄤ釜綆鍗曠殑渚嬪瓙鏉ヨ鏄庣敓鎴愪竴涓?SO鏂囦歡鍜屽浣曚嬌鐢ㄥ畠:
1.鎴戣繖鏈夊嚑涓枃浠?
ConfigMap.cpp ConfigMap.h (璇婚厤緗枃浠剁被)GetWinState.cpp GetWinState.h(ICE鎺ュ彛鏂囦歡,鐢盨LICE鐢熸垚) GetWinSysState.cpp GetWinSysState.h (榪滅▼鎺ュ彛瀹炵幇鏂囦歡)
SocDbInfo.cpp(灝佽鐨勪竴涓被,鐢ㄤ簬璋冪敤ICE鎺ュ彛瀹炵幇鐩稿叧鎿嶄綔)
璇存槑:姝ょ▼搴忔槸涓轟簡鑾峰緱榪滅▼涓繪満(WINDOWS)涓婁竴浜涚郴緇熶俊鎭?姣斿:CPU鍗犵敤鐜?紜洏浣跨敤鎯呭喌,鏁版嵁
搴撹繛鎺ョ姸鎬?鍐呭瓨浣跨敤鎯呭喌絳?
鎴戞兂鍒╃敤榪欎簺鏂囦歡鐢熸垚鍔ㄦ侀摼鎺ュ簱.SO,涓昏鏄皟鐢⊿ocDbInfo.cpp閲岀殑綾?鐒跺悗鍙互鎷垮埌浠繪剰涓涓郴緇熶腑(LINUX)鍘葷敤.
2.寮濮嬬紪璇?$c++ -I. -I$ICE_HOME/include -c *.cpp
緙栬瘧鍚庣敓鎴愯繛鎺ユ枃浠?鎴戜竴鐩磋繖鏍峰彨,鍙兘涓嶅鍝?,鍗充互.O緇撳熬鐨?br />3.鐢熸垚鍔ㄦ侀摼鎺ュ簱:$c++ -shared -o聽libMyApp.so *.o -L$ICE_HOME/lib -lIce -lIceUtil
榪欐牱灝辯敓鎴愪簡libMyApp.so鏂囦歡,鍗蟲垜浠墍瑕佺殑
4.浣跨敤鍔ㄦ侀摼鎺ュ簱:
鏂板緩涓や釜鏂囦歡Demo.cpp Demo.h(浣跨敤libMyApp.so鎻愪緵鐨勪竴浜涘嚱鏁?,
鍦―emo.h涓0鏄庝簡libMyApp.so涓彁渚涚殑鍑芥暟鍜岀粨鏋勪綋,
Demo.h:浠g爜濡備笅:

struct MemoryInf
{
聽int TotalMem;//脳脺脛脷麓忙麓貿脨隆
聽int ValidMem;//驢脡脢鹿脫脙脛脷麓忙麓貿脨隆
聽int VirtualMem;//脨茅脛芒脛脷麓忙麓貿脨隆
};
struct DiskInf
{
聽int TotalSpace;//脫虜脜脤麓貿脨隆
聽int FreeSpace;//脢攏脫脿驢脮錄盲麓貿脨隆
};
struct DbInf
{
聽int DbStat;//脢媒戮脻驢芒脳麓脤盧:"0"鹵鉚脢戮脢媒戮脻驢芒麓婁脭脷鹿脴鹵脮脳麓脤盧,"1"鹵鉚脢戮脢媒戮脻驢芒脮媒魯攏麓貌驢陋,"2"鹵鉚脢戮脢媒戮脻驢芒麓婁脭脷鹿脪脝冒脳麓脤盧
聽int DbConnNum;//脢媒戮脻驢芒脕盧陸脫脢媒
};
bool Inital( char *ResHostIP);//魯玫脢錄祿爐脥簍脨脜脝梅
bool DesIceCom();//脧煤祿脵ICE脥簍脨脜脝梅
MemoryInf GetMemInf();//碌脙碌陸脛脷麓忙脨脜脧壟
int GetCpuInf();//碌脙碌陸CPU脮錄脫脙脗脢
DbInf GetDbStat();//碌脙碌陸脢媒戮脻驢芒脨脜脧壟
DiskInf GetDiskStat();//碌脙碌陸脫虜脜脤脨脜脧壟



娉?涔辯爜鏄敱浜庢垜鐨凩INUX涓嬩笉鏀寔涓枃鍝?鏄敞閲婁笉鐢ㄧ瀹?br />Demo.cpp:浠g爜濡備笅:
#include <string.h>
#include <iostream>
#include "Demo.h"


int main( int argc , char* argv[])
{

聽MemoryInf mymem;
聽DiskInf mydisk;
聽DbInf mydb;
聽Inital( argv[1]);
聽mydisk = GetDiskStat();
聽mymem = GetMemInf();
聽mydb = GetDbStat();
聽printf("disk total space:%d\n",mydisk.TotalSpace);
聽printf("disk FreeSpace space:%d\n",mydisk.FreeSpace);
聽printf("Memory TotalMem:%d\n",mymem.TotalMem);
聽printf("ValidMem:%d\n",mymem.ValidMem);
聽printf("VirtualMem:%d\n",mymem.VirtualMem);
聽printf("DbConnNum:%d\n",mydb.DbConnNum);
聽printf("DbStat:%d\n",mydb.DbStat);
聽printf("cpu:%d\n",GetCpuInf());
聽DesIceCom();
聽return 1;
}


5.緙栬瘧鏂囦歡鐢熸垚鍙墽琛岀▼搴?
鐢ㄤ互涓嬪懡浠?
$c++聽-lMyApp聽-o聽Demo聽Demo.cpp
璇存槑:-lMyApp鍙傛暟琛ㄧず,鐢ㄥ姩鎬侀摼鎺ュ簱libMyApp.so涓璧瘋繘琛岀紪璇?瀵逛簡libMyApp.so鏈濂芥斁鍦?usr/lib鐩綍涓嬪搱
濡備笉鍑烘剰澶栧垰浼氱敓鎴愬悕涓篋emo鐨勫彲鎵ц鏂囦歡



]]>
C++緙栫▼涓紝鍒╃敤WINDOWS API鑾峰緱緋葷粺鐘舵佷俊鎭痆CPU鍗犵敤鐜囷紝紜洏浣跨敤鎯呭喌錛屽唴瀛樹嬌鐢ㄦ儏鍐礭http://m.shnenglu.com/klsmlzm/archive/2006/04/14/5522.html鐗電墰鏁f鐗電墰鏁fFri, 14 Apr 2006 03:35:00 GMThttp://m.shnenglu.com/klsmlzm/archive/2006/04/14/5522.htmlhttp://m.shnenglu.com/klsmlzm/comments/5522.htmlhttp://m.shnenglu.com/klsmlzm/archive/2006/04/14/5522.html#Feedback2http://m.shnenglu.com/klsmlzm/comments/commentRss/5522.htmlhttp://m.shnenglu.com/klsmlzm/services/trackbacks/5522.html#include <Ice/Ice.h>
#include <iostream>
#include <GetWinSysState.h>
#include <Winbase.h>
#include <conio.h>
#include <stdio.h>
#include <fstream>
#include <iostream>
#include <string>
#include <direct.h>

#define SystemBasicInformation聽聽聽聽聽聽 0
#define SystemPerformanceInformation 2
#define SystemTimeInformation聽聽聽聽聽聽聽 3

#define Li2Double(x) ((double)((x).HighPart) * 4.294967296E9 + (double)((x).LowPart))
//ICE棰勭紪璇戣鍙?/p>

#ifdef _DEBUG
#pragma comment(lib, "iced.lib")
#pragma comment(lib, "iceutild.lib")
#else
#pragma comment(lib, "ice.lib")
#pragma comment(lib, "iceutil.lib")
#endif

typedef struct
{
聽聽聽 DWORD聽聽 dwUnknown1;
聽聽聽 ULONG聽聽 uKeMaximumIncrement;
聽聽聽 ULONG聽聽 uPageSize;
聽聽聽 ULONG聽聽 uMmNumberOfPhysicalPages;
聽聽聽 ULONG聽聽 uMmLowestPhysicalPage;
聽聽聽 ULONG聽聽 uMmHighestPhysicalPage;
聽聽聽 ULONG聽聽 uAllocationGranularity;
聽聽聽 PVOID聽聽 pLowestUserAddress;
聽聽聽 PVOID聽聽 pMmHighestUserAddress;
聽聽聽 ULONG聽聽 uKeActiveProcessors;
聽聽聽 BYTE聽聽聽 bKeNumberProcessors;
聽聽聽 BYTE聽聽聽 bUnknown2;
聽聽聽 WORD聽聽聽 wUnknown3;
} SYSTEM_BASIC_INFORMATION;

typedef struct
{
聽聽聽 LARGE_INTEGER聽聽 liIdleTime;
聽聽聽 DWORD聽聽聽聽聽聽聽聽聽聽 dwSpare[76];
} SYSTEM_PERFORMANCE_INFORMATION;

typedef struct
{
聽聽聽 LARGE_INTEGER liKeBootTime;
聽聽聽 LARGE_INTEGER liKeSystemTime;
聽聽聽 LARGE_INTEGER liExpTimeZoneBias;
聽聽聽 ULONG聽聽聽聽聽聽聽聽 uCurrentTimeZoneId;
聽聽聽 DWORD聽聽聽聽聽聽聽聽 dwReserved;
} SYSTEM_TIME_INFORMATION;


// ntdll!NtQuerySystemInformation (NT specific!)
//
// The function copies the system information of the
// specified type into a buffer
//
// NTSYSAPI
// NTSTATUS
// NTAPI
// NtQuerySystemInformation(
//聽聽聽 IN UINT SystemInformationClass,聽聽聽 // information type
//聽聽聽 OUT PVOID SystemInformation,聽聽聽聽聽聽 // pointer to buffer
//聽聽聽 IN ULONG SystemInformationLength,聽 // buffer size in bytes
//聽聽聽 OUT PULONG ReturnLength OPTIONAL聽聽 // pointer to a 32-bit
//聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // variable that receives
//聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // the number of bytes
//聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // written to the buffer
// );
typedef LONG (WINAPI *PROCNTQSI)(UINT,PVOID,ULONG,PULONG);

PROCNTQSI NtQuerySystemInformation;

/*
聽 鍔熻兘:寰楀埌CPU浣跨敤鐘舵?br />聽 鍙傛暟:鏃?br />聽 榪斿洖鍊?鍐呭瓨鍗犵敤鐜?br />聽 浣滆?鐗電墰鏁f
*/
int GetCpuStat()
{
聽SYSTEM_PERFORMANCE_INFORMATION SysPerfInfo;
聽聽聽 SYSTEM_TIME_INFORMATION聽聽聽聽聽聽聽 SysTimeInfo;
聽聽聽 SYSTEM_BASIC_INFORMATION聽聽聽聽聽聽 SysBaseInfo;
聽聽聽 double聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 dbIdleTime;
聽聽聽 double聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 dbSystemTime;
聽聽聽 LONG聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 status;
聽聽聽 LARGE_INTEGER聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 liOldIdleTime = {0,0};
聽聽聽 LARGE_INTEGER聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 liOldSystemTime = {0,0};
聽int UsageCpu = 0;
聽聽聽 NtQuerySystemInformation = (PROCNTQSI)GetProcAddress(
聽聽GetModuleHandle("ntdll"),
聽聽"NtQuerySystemInformation"
聽聽);

聽聽聽 if (!NtQuerySystemInformation)
聽聽聽聽聽聽聽 return 0;

聽聽聽 status = NtQuerySystemInformation(SystemBasicInformation,&SysBaseInfo,sizeof(SysBaseInfo),NULL);
聽聽聽 if (status != NO_ERROR)
聽聽聽聽聽聽聽 return 0;
聽聽聽聽
聽for( int t = 0 ; t < 2 ; t++ )
聽聽聽 {
聽聽status = NtQuerySystemInformation(SystemTimeInformation,&SysTimeInfo,sizeof(SysTimeInfo),0);
聽聽聽聽聽聽聽 if (status!=NO_ERROR)
聽聽聽聽聽聽聽聽聽聽聽 return 0;
聽聽
聽聽聽聽聽聽聽 status = NtQuerySystemInformation(SystemPerformanceInformation,&SysPerfInfo,sizeof(SysPerfInfo),NULL);
聽聽聽聽聽聽聽 if (status != NO_ERROR)
聽聽聽聽聽聽聽聽聽聽聽 return 0;
聽聽
聽聽if (liOldIdleTime.QuadPart != 0)
聽聽{
聽聽聽聽聽聽聽聽聽聽聽 dbIdleTime = Li2Double(SysPerfInfo.liIdleTime) - Li2Double(liOldIdleTime);
聽聽聽聽聽聽聽聽聽聽聽 dbSystemTime = Li2Double(SysTimeInfo.liKeSystemTime) - Li2Double(liOldSystemTime);
聽聽聽
聽聽聽聽聽聽聽聽聽聽聽 dbIdleTime = dbIdleTime / dbSystemTime;
聽聽聽

聽聽聽聽聽聽聽聽聽聽聽 dbIdleTime = 100.0 - dbIdleTime * 100.0 / (double)SysBaseInfo.bKeNumberProcessors + 0.5;
聽聽聽UsageCpu = (int)dbIdleTime;

聽聽}
聽聽
聽聽聽聽聽聽聽 // store new CPU's idle and system time
聽聽聽聽聽聽聽 liOldIdleTime = SysPerfInfo.liIdleTime;
聽聽聽聽聽聽聽 liOldSystemTime = SysTimeInfo.liKeSystemTime;
聽聽
聽聽聽聽聽聽聽 // wait one second
聽聽聽聽聽聽聽 Sleep(500);
聽聽聽 }
聽return UsageCpu;

}


/*
聽 鍔熻兘:寰楀埌鍐呭瓨浣跨敤鐘舵?br />聽 鍙傛暟:鏃?br />聽 榪斿洖鍊?鍐呭瓨淇℃伅緇撴瀯浣揫鍖呮嫭鎬葷殑鐗╃悊鍐呭瓨,榪樺彲浣跨敤鍐呭瓨,铏氭嫙鍐呭瓨,鍗曚綅涓篕]
聽 浣滆?鐗電墰鏁f
*/
MemoryInf MemorySta()
{
聽MemoryInf tmp;//鍦↖CE SLICE閲屽畾涔夌殑淇℃伅緇撴瀯浣?br />聽MEMORYSTATUS memStatus;
聽GlobalMemoryStatus(&memStatus);
聽DWORD tom=memStatus.dwTotalPhys/1024;
聽DWORD mem=memStatus.dwAvailPhys/1024;
聽DWORD res=memStatus.dwAvailVirtual/1024;
聽tmp.TotalMem = (int)tom;
聽tmp.ValidMem = (int)mem;
聽tmp.VirtualMem = (int)res;
聽return tmp;
}


/*
聽鍔熻兘:寰楀埌紜洏浣跨敤鎯呭喌
聽鍙傛暟:鏃?br />聽榪斿洖鍊?紜洏淇℃伅緇撴瀯浣?br />聽浣滆?鐗電墰鏁f
*/
DiskInf GetDiskSta()
{
聽ULARGE_INTEGER FreeAvailable,TotalNum,TotalFreeNum;

聽char p[3];
聽bool b_flag;
聽DiskInf tmp;//ICE SLICE閲屽畾涔夌殑紜洏淇℃伅緇撴瀯浣?br />聽tmp.TotalSpace = 0;
聽tmp.FreeSpace = 0;
聽//寰楀埌鏈夋晥鐨勯┍鍔ㄥ櫒鍚?鍗崇洏絎?
聽for( int drive = 1; drive <= 26; drive++ )
聽{
聽聽if( !_chdrive( drive ) )
聽聽{
聽聽聽memset( p , 0 , sizeof(p));
聽聽聽p[0] = drive + 'A' - 1;
聽聽聽p[1] = ':';
聽聽聽p[2] = '\0';
聽聽聽b_flag = GetDiskFreeSpaceEx( p ,&FreeAvailable,&TotalNum,&TotalFreeNum );
聽聽聽if( b_flag )
聽聽聽{
聽聽聽聽tmp.TotalSpace += (int)(TotalNum.QuadPart/(1024*1024));
聽聽聽聽tmp.FreeSpace += (int)(FreeAvailable.QuadPart/(1024*1024));
聽聽聽}
聽聽}
聽}
聽return tmp;
}

int main()
{
聽聽聽return 1;
}



]]>
#pragma 棰勫鐞嗘寚浠よ瑙杞澆]http://m.shnenglu.com/klsmlzm/archive/2006/02/28/3563.html鐗電墰鏁f鐗電墰鏁fTue, 28 Feb 2006 01:46:00 GMThttp://m.shnenglu.com/klsmlzm/archive/2006/02/28/3563.htmlhttp://m.shnenglu.com/klsmlzm/comments/3563.htmlhttp://m.shnenglu.com/klsmlzm/archive/2006/02/28/3563.html#Feedback0http://m.shnenglu.com/klsmlzm/comments/commentRss/3563.htmlhttp://m.shnenglu.com/klsmlzm/services/trackbacks/3563.html

 

鍦ㄦ墍鏈夌殑棰勫鐞嗘寚浠や腑錛?Pragma 鎸囦護鍙兘鏄渶澶嶆潅鐨勪簡錛屽畠鐨勪綔鐢ㄦ槸璁懼畾緙栬瘧鍣ㄧ殑鐘舵佹垨鑰呮槸鎸囩ず緙栬瘧鍣ㄥ畬鎴愪竴浜涚壒瀹氱殑鍔ㄤ綔銆?pragma鎸囦護瀵規瘡涓紪璇戝櫒緇欏嚭浜嗕竴涓柟娉?鍦ㄤ繚鎸佷笌C鍜孋 ++璇█瀹屽叏鍏煎鐨勬儏鍐典笅,緇欏嚭涓繪満鎴栨搷浣滅郴緇熶笓鏈夌殑鐗瑰緛銆備緷鎹畾涔?緙栬瘧鎸囩ず鏄満鍣ㄦ垨鎿嶄綔緋葷粺涓撴湁鐨?涓斿浜庢瘡涓紪璇戝櫒閮芥槸涓嶅悓鐨勩?
鍏舵牸寮忎竴鑸負: #Pragma Para
鍏朵腑Para 涓哄弬鏁幫紝涓嬮潰鏉ョ湅涓浜涘父鐢ㄧ殑鍙傛暟銆?


(1)message 鍙傛暟銆?Message 鍙傛暟鏄垜鏈鍠滄鐨勪竴涓弬鏁幫紝瀹冭兘澶熷湪緙栬瘧淇℃伅杈撳嚭紿?
鍙d腑杈撳嚭鐩稿簲鐨勪俊鎭紝榪欏浜庢簮浠g爜淇℃伅鐨勬帶鍒舵槸闈炲父閲嶈鐨勩傚叾浣跨敤鏂規硶涓猴細
#Pragma message(鈥滄秷鎭枃鏈?
褰撶紪璇戝櫒閬囧埌榪欐潯鎸囦護鏃跺氨鍦ㄧ紪璇戣緭鍑虹獥鍙d腑灝嗘秷鎭枃鏈墦鍗板嚭鏉ャ?
褰撴垜浠湪紼嬪簭涓畾涔変簡璁稿瀹忔潵鎺у埗婧愪唬鐮佺増鏈殑鏃跺欙紝鎴戜滑鑷繁鏈夊彲鑳介兘浼氬繕璁版湁娌℃湁姝g‘鐨勮緗繖浜涘畯錛屾鏃舵垜浠彲浠ョ敤榪欐潯鎸囦護鍦ㄧ紪璇戠殑鏃跺欏氨榪涜媯鏌ャ傚亣璁炬垜浠笇鏈涘垽鏂嚜宸辨湁娌℃湁鍦ㄦ簮浠g爜鐨勪粈涔堝湴鏂瑰畾涔変簡_X86榪欎釜瀹忓彲浠ョ敤涓嬮潰鐨勬柟娉?
#ifdef _X86
#Pragma message(鈥淿X86 macro activated!鈥?
#endif
褰撴垜浠畾涔変簡_X86榪欎釜瀹忎互鍚庯紝搴旂敤紼嬪簭鍦ㄧ紪璇戞椂灝變細鍦ㄧ紪璇戣緭鍑虹獥鍙i噷鏄劇ず鈥淿
X86 macro activated!鈥濄傛垜浠氨涓嶄細鍥犱負涓嶈寰楄嚜宸卞畾涔夌殑涓浜涚壒瀹氱殑瀹忚屾姄鑰蟲尃鑵簡
銆?

(2)鍙︿竴涓嬌鐢ㄥ緱姣旇緝澶氱殑pragma鍙傛暟鏄?SPAN style="COLOR: rgb(255,0,0)">code_seg銆傛牸寮忓錛?
#pragma code_seg( ["section-name"[,"section-class"] ] )
瀹冭兘澶熻緗▼搴忎腑鍑芥暟浠g爜瀛樻斁鐨勪唬鐮佹錛屽綋鎴戜滑寮鍙戦┍鍔ㄧ▼搴忕殑鏃跺欏氨浼氫嬌鐢ㄥ埌瀹冦?

(3)#pragma once (姣旇緝甯哥敤錛?
鍙鍦ㄥご鏂囦歡鐨勬渶寮濮嬪姞鍏ヨ繖鏉℃寚浠ゅ氨鑳藉淇濊瘉澶存枃浠惰緙栬瘧涓嬈★紝榪欐潯鎸囦護瀹為檯涓婂湪VC6涓氨宸茬粡鏈変簡錛屼絾鏄冭檻鍒板吋瀹規у茍娌℃湁澶鐨勪嬌鐢ㄥ畠銆?

(4)#pragma hdrstop琛ㄧず棰勭紪璇戝ご鏂囦歡鍒版涓烘錛屽悗闈㈢殑澶存枃浠朵笉榪涜棰勭紪璇戙侭CB鍙互棰勭紪璇戝ご鏂囦歡浠ュ姞蹇摼鎺ョ殑閫熷害錛屼絾濡傛灉鎵鏈夊ご鏂囦歡閮借繘琛岄緙栬瘧鍙堝彲鑳藉崰澶紓佺洏絀洪棿錛屾墍浠ヤ嬌鐢ㄨ繖涓夐」鎺掗櫎涓浜涘ご鏂囦歡銆?
鏈夋椂鍗曞厓涔嬮棿鏈変緷璧栧叧緋伙紝姣斿鍗曞厓A渚濊禆鍗曞厓B錛屾墍浠ュ崟鍏傿瑕佸厛浜庡崟鍏傾緙栬瘧銆備綘鍙互鐢?pragma startup鎸囧畾緙栬瘧浼樺厛綰э紝濡傛灉浣跨敤浜?pragma package(smart_init) 錛孊CB灝變細鏍規嵁浼樺厛綰х殑澶у皬鍏堝悗緙栬瘧銆?

(5)#pragma resource "*.dfm"琛ㄧず鎶?.dfm鏂囦歡涓殑璧勬簮鍔犲叆宸ョ▼銆?.dfm涓寘鎷獥浣?
澶栬鐨勫畾涔夈?

(6)#pragma warning( disable : 4507 34; once : 4385; error : 164 )
絳変環浜庯細
#pragma warning(disable:4507 34) // 涓嶆樉紺?507鍜?4鍙瘋鍛婁俊鎭?
#pragma warning(once:4385) // 4385鍙瘋鍛婁俊鎭粎鎶ュ憡涓嬈?
#pragma warning(error:164) // 鎶?64鍙瘋鍛婁俊鎭綔涓轟竴涓敊璇?
鍚屾椂榪欎釜pragma warning 涔熸敮鎸佸涓嬫牸寮忥細
#pragma warning( push [ ,n ] )
#pragma warning( pop )
榪欓噷n浠h〃涓涓鍛婄瓑綰?1---4)銆?
#pragma warning( push )淇濆瓨鎵鏈夎鍛婁俊鎭殑鐜版湁鐨勮鍛婄姸鎬併?
#pragma warning( push, n)淇濆瓨鎵鏈夎鍛婁俊鎭殑鐜版湁鐨勮鍛婄姸鎬侊紝騫朵笖鎶婂叏灞璀﹀憡
絳夌駭璁懼畾涓簄銆?
#pragma warning( pop )鍚戞爤涓脊鍑烘渶鍚庝竴涓鍛婁俊鎭紝鍦ㄥ叆鏍堝拰鍑烘爤涔嬮棿鎵浣滅殑
涓鍒囨敼鍔ㄥ彇娑堛備緥濡傦細
#pragma warning( push )
#pragma warning( disable : 4705 )
#pragma warning( disable : 4706 )
#pragma warning( disable : 4707 )
//.......
#pragma warning( pop )
鍦ㄨ繖孌典唬鐮佺殑鏈鍚庯紝閲嶆柊淇濆瓨鎵鏈夌殑璀﹀憡淇℃伅(鍖呮嫭4705錛?706鍜?707)銆?
錛?錛?SPAN style="COLOR: rgb(255,0,0)">pragma comment(...)
璇ユ寚浠ゅ皢涓涓敞閲婅褰曟斁鍏ヤ竴涓璞℃枃浠舵垨鍙墽琛屾枃浠朵腑銆?
甯哥敤鐨刲ib鍏抽敭瀛楋紝鍙互甯垜浠繛鍏ヤ竴涓簱鏂囦歡銆?
(8)鐢╬ragma瀵煎嚭dll涓殑鍑芥暟

    浼犵粺鐨勫埌鍑?DLL 鍑芥暟鐨勬柟娉曟槸浣跨敤妯″潡瀹氫箟鏂囦歡 (.def)錛孷isual C++ 鎻愪緵浜嗘洿綆媧佹柟渚跨殑鏂規硶錛岄偅灝辨槸鈥淿_declspec()鈥濆叧閿瓧鍚庨潰璺熲渄llexport鈥濓紝鍛婅瘔榪炴帴鍘昏瀵煎嚭榪欎釜鍑芥暟錛屼緥濡傦細

__declspec(dllexport) int __stdcall MyExportFunction(int iTest);

    鎶娾淿_declspec(dllexport)鈥濇斁鍦ㄥ嚱鏁板0鏄庣殑鏈鍓嶉潰錛岃繛鎺ョ敓鎴愮殑 DLL 灝變細瀵煎嚭鍑芥暟鈥淿MyExportFunction@4鈥濄?/P>

    涓婇潰鐨勫鍑哄嚱鏁扮殑鍚嶇О涔熻涓嶆槸鎴戠殑甯屾湜鐨勶紝鎴戜滑甯屾湜瀵煎嚭鐨勬槸鍘熺増鐨勨淢yExportFunction鈥濄傝繕濂斤紝VC 鎻愪緵浜嗕竴涓澶勭悊鎸囩ず絎︹?pragma鈥濇潵鎸囧畾榪炴帴閫夐」 (涓嶄粎浠呮槸榪欎竴涓姛鑳斤紝榪樻湁寰堝鎸囩ず鍔熻兘) 錛屽涓嬶細

#pragma comment(linker,"/EXPORT:MyExportFunction=_MyExportFunction@4")

    榪欎笅灝卞ぉ濡備漢鎰夸簡錛氾級銆傚鏋滀綘鎯蟲寚瀹氬鍑虹殑欏哄簭錛屾垨鑰呭彧灝嗗嚱鏁板鍑轟負搴忓彿錛屾病鏈?Entryname錛岃繖涓澶勭悊鎸囩ず絎?(紜垏鍦拌鏄繛鎺ュ櫒) 閮借兘澶熷疄鐜幫紝鐪嬬湅 MSDN 鐨勮娉曡鏄庯細

/EXPORT:entryname[,@ordinal[,NONAME]][,DATA]

   @ordinal 鎸囧畾欏哄簭錛汵ONAME 鎸囧畾鍙皢鍑芥暟瀵煎嚭涓哄簭鍙鳳紱DATA 鍏抽敭瀛楁寚瀹氬鍑洪」涓烘暟鎹」銆?/P>

姣忎釜緙栬瘧紼嬪簭鍙互鐢?pragma鎸囦護嬋媧繪垨緇堟璇ョ紪璇戠▼搴忔敮鎸佺殑涓浜涚紪璇戝姛鑳?/SPAN>銆備緥濡傦紝瀵瑰驚鐜紭鍖栧姛鑳斤細
#pragma loop_opt(on) // 嬋媧?
#pragma loop_opt(off) // 緇堟
鏈夋椂錛岀▼搴忎腑浼氭湁浜涘嚱鏁頒細浣跨紪璇戝櫒鍙戝嚭浣犵啛鐭ヨ屾兂蹇界暐鐨勮鍛婏紝濡傗淧arameter xxx is never used in function xxx鈥濓紝鍙互榪欐牱錛?
#pragma warn 鈥?00 // Turn off the warning message for warning #100
int insert_record(REC *r)
{ /* function body */ }
#pragma warn +100 // Turn the warning message for warning #100 back on
鍑芥暟浼氫駭鐢熶竴鏉℃湁鍞竴鐗瑰緛鐮?00鐨勮鍛婁俊鎭紝濡傛鍙殏鏃剁粓姝㈣璀﹀憡銆?
姣忎釜緙栬瘧鍣ㄥ#pragma鐨勫疄鐜頒笉鍚岋紝鍦ㄤ竴涓紪璇戝櫒涓湁鏁堝湪鍒殑緙栬瘧鍣ㄤ腑鍑犱箮鏃犳晥銆傚彲浠庣紪璇戝櫒鐨勬枃妗d腑鏌ョ湅銆?/FONT>



]]>
久久国产乱子精品免费女| 久久久无码人妻精品无码| 久久99精品久久久久久水蜜桃| 久久国产精品国产自线拍免费| 久久精品无码专区免费| 99精品国产免费久久久久久下载 | 好久久免费视频高清| 国产综合免费精品久久久| 久久久久久久91精品免费观看| 国产精品久久久久久一区二区三区 | 国产精品久久久久久久久久影院 | 久久亚洲国产最新网站| AAA级久久久精品无码片| 久久综合久久鬼色| 久久99精品国产99久久| 国内精品人妻无码久久久影院导航| 青青草国产精品久久久久| 亚洲精品乱码久久久久久按摩 | 久久精品国产只有精品66 | 久久久久久夜精品精品免费啦| 四虎国产永久免费久久| 久久99国产综合精品女同| 女人高潮久久久叫人喷水| 国产三级观看久久| 大伊人青草狠狠久久| 久久人人爽爽爽人久久久| 久久无码国产专区精品| 久久福利片| 久久综合狠狠色综合伊人| 国内精品人妻无码久久久影院| 国产精品乱码久久久久久软件| 久久久久久A亚洲欧洲AV冫| 国产精品久久久久久久午夜片 | 亚洲人AV永久一区二区三区久久| 亚洲国产精品久久久久婷婷老年| 99久久精品国产麻豆| 国产情侣久久久久aⅴ免费| 色婷婷久久综合中文久久蜜桃av| 亚洲精品99久久久久中文字幕 | 久久香蕉国产线看观看猫咪?v| 91精品国产综合久久香蕉|