




全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一, 創(chuàng)建一個(gè)win32,應(yīng)用程序(Win32 Application),包含了,創(chuàng)建SOCKET時(shí)出錯(cuò)。引起出錯(cuò)的語句:SOCKET myUDPSock = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP),問題現(xiàn)象:編譯可以通過,連接時(shí)有如下錯(cuò)誤,超找?guī)椭l(fā)現(xiàn)可能執(zhí)行函數(shù)時(shí),沒有連接到庫,在Projects-settingslink中加入ws2_32.lib鏈接,問題解決。(2010-8-8)-Configuration: WINMAIN3 - Win32 Debug-Linking.WINMAIN3.obj : error LNK2001: unresolved external symbol _imp_socket12Debug/WINMAIN3.exe : fatal error LNK1120: 1 unresolved externalsError executing link.exe.WINMAIN3.exe - 2 error(s), 0 warning(s)二、出現(xiàn)預(yù)編譯文件找不到,問題原因可能是一個(gè)工作區(qū)包含了多個(gè)工程,第一個(gè)工程編譯編譯運(yùn)行后,就會(huì)在工程設(shè)置里增加預(yù)編譯頭文件,新建的工程繼承了原來工程的設(shè)置,所以在運(yùn)行時(shí)會(huì)找原來的文件而找不到。解決方法:更改工程設(shè)置,去掉這個(gè)預(yù)編譯頭文件如圖: 2010-8-14三、free和malloc的使用注意事項(xiàng)在一次編程中出現(xiàn)下面的斷言錯(cuò)誤,經(jīng)過反復(fù)試驗(yàn),發(fā)現(xiàn)是free的指針?biāo)傅膬?nèi)存不是malloc分配的,而是一個(gè)數(shù)組在定義時(shí)分配的。結(jié)合msdn對(duì)free和malloc的解釋:The free function deallocates a memory block (memblock) that was previously allocated by a call to calloc, malloc, or realloc. The number of freed bytes is equivalent to the number of bytes requested when the block was allocated (or reallocated, in the case of realloc). If memblock is NULL, the pointer is ignored and free immediately returns. Attempting to free an invalid pointer (a pointer to a memory block that was not allocated by calloc, malloc, or realloc) may affect subsequent allocation requests and cause errors.After a memory block has been freed, _heapmin minimizes the amount of free memory on the heap by coalescing the unused regions and releasing them back to the operating system. Freed memory that is not released to the operating system is restored to the free pool and is available for allocation again.可以看出malloc分配的內(nèi)存是從heap(堆)中獲得的,free函數(shù)也就只能free堆里的內(nèi)存,因此,當(dāng)調(diào)用函數(shù)去free一快棧里的內(nèi)存是,就會(huì)有下面的錯(cuò)誤。用來驗(yàn)證此錯(cuò)誤的程序: 2010-8-15#include #include #include typedef struct testchar *pch;test_t;int test_init(test_t * p_test);int test_set(test_t *p_test, char* ch);/int test_set_chrs(test_t *p_test, const char* ch);int test_free(test_t *p_test);int main()test_t *ptr_test;char chrs = tests;/printf(length of chrs %dn,strlen(chrs);char *ptr_string;int length;length = strlen(chrs);ptr_string = (char*)malloc(length+1)*sizeof(char);strcpy(ptr_string,chrs);*(ptr_string+length) = 0;test_init(&ptr_test);/test_set(ptr_test,ptr_string);test_set(ptr_test,chrs); /run this command,then run free may cause a errorprintf(%sn,(ptr_test-pch);test_free(ptr_test);/test_set(&ptr_test,chrs);return 1;int test_init(test_t *p_test)(*p_test) = (test_t*)malloc(sizeof(test_t);(*p_test)-pch = NULL;return 1;int test_set(test_t * p_test,char *ch)p_test-pch = ch;return 1;int test_free(test_t *p_test)free(p_test-pch); /Notice: free function must free memory allocated by malloc()free(p_test);return 1;/*int test_set_chrs(test_t *p_test, const char* ch)if (p_test=NULL)return -1;p_test-pch = (char*)malloc(strlen(ch)*sizeof(char);strcpy(p_test-pch,ch);*/四、堆內(nèi)存和棧內(nèi)存的小區(qū)別1 、棧區(qū)( stack ) 由編譯器自動(dòng)分配釋放 ,存放函數(shù)的參數(shù)值,局部變量的值等。其操作方式類似于數(shù)據(jù)結(jié)構(gòu)中的棧。棧內(nèi)存分配運(yùn)算內(nèi)置于處理器的指令集中,效率很高,但是分配的內(nèi)存容量有限.2 、堆區(qū)( heap ) 亦稱動(dòng)態(tài)內(nèi)存分配.程序在運(yùn)行的時(shí)候用malloc或new申請(qǐng)任意大小的內(nèi)存,程序員自己負(fù)責(zé)在適當(dāng)?shù)臅r(shí)候用free或delete釋放內(nèi)存。動(dòng)態(tài)內(nèi)存 的生存期可以由我們決定,如果我們不釋放內(nèi)存,程序?qū)⒃谧詈蟛裴尫诺魟?dòng)態(tài)內(nèi)存.但是,良好的編程習(xí)慣是:如果某動(dòng)態(tài)內(nèi)存不再使用,需要將其釋放掉,否則, 我們認(rèn)為發(fā)生了內(nèi)存泄漏現(xiàn)象。注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事,分配方式倒是類似于鏈表.3、字面常量區(qū) char * pstr = “hello”; pstr0 = c; / 錯(cuò)誤,不能修改五、函數(shù)編譯可以通過,但連接錯(cuò)誤,一般原因可能是有了函數(shù)的聲明,但是沒有函數(shù)的定義(實(shí)現(xiàn)),會(huì)導(dǎo)致連接出錯(cuò)。unresolved external symbol int _cdecl application_cb_snd_message(struct osip_transaction *,struct osip_message *,char *,int,int) (?application_cb_snd_messageYAHPAUosip_transactionPAUosip_messagePADHHZ) 六、連接出錯(cuò)unresolved external symbol _GetIfEntryLinking.eXutils.obj : error LNK2001: unresolved external symbol _GetIfEntry4eXutils.obj : error LNK2001: unresolved external symbol _GetIpAddrTable12Debug/exosip.dll : fatal error LNK1120: 2 unresolved externalsError executing link.exe.通過查找msdn,知道這個(gè)函數(shù)需要包含庫Iphlpapi.lib七、對(duì)話框中如何響應(yīng)鍵盤消息VC對(duì)話框里如何響應(yīng)鍵盤消息VC學(xué)習(xí) 2008-03-18 09:48:31 閱讀80 評(píng)論0 字號(hào):大中小 訂閱 在VC中,如果需要在對(duì)話框中響應(yīng)鍵盤消息,是不可能直接做到的,必須通過添加虛函數(shù)才能進(jìn)行處理。具體過程如下: 1.在所需要響應(yīng)鍵盤消息的對(duì)話框所對(duì)應(yīng)的類名上單擊右鍵,選擇“添加虛函數(shù)(Add Virtual Function. )”; 2.在彈出來的對(duì)話框中選擇PreTranslateMessage并添加; 3.編輯PreTranslateMessage函數(shù); BOOL CDrawVoltDlg:Pre
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 60684-2:2025 EN-FR Flexible insulating sleeving - Part 2: Methods of test
- 【正版授權(quán)】 IEC 63522-20:2025 EN-FR Electrical relays – Tests and measurements - Part 20: Mechanical endurance
- 2025年學(xué)前教育與兒童發(fā)展考試試卷及答案
- 2025年全球化與地方文化保護(hù)考試題及答案
- 2025年按摩與推拿專業(yè)考試題及答案
- 2025年茶藝師職業(yè)能力測(cè)試試卷及答案
- 萬安保安考試題及答案
- 梯級(jí)城市基礎(chǔ)設(shè)施優(yōu)化補(bǔ)充協(xié)議
- 商住兩用房產(chǎn)分割與資產(chǎn)重組投資協(xié)議
- 網(wǎng)絡(luò)零售商網(wǎng)店經(jīng)營(yíng)權(quán)保留及數(shù)據(jù)分析服務(wù)協(xié)議
- 人工智能賦能新型工業(yè)化:范式變革與發(fā)展路徑
- 2025中信建投證券股份限公司校園招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年中考第一次模擬考試化學(xué)試卷(廣州卷)(全解全析)
- 2025-2030年中國(guó)CAE軟件行業(yè)市場(chǎng)行情監(jiān)測(cè)及發(fā)展前景研判報(bào)告
- 江蘇南京歷年中考作文題(2002-2024)
- 隆胸護(hù)理查房
- 實(shí)驗(yàn)員考試試題及答案
- 2025年黃山黟縣國(guó)有投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 服裝零售售后服務(wù)與退換貨流程
- 中醫(yī)各家學(xué)說(湖南中醫(yī)藥大學(xué))知到課后答案智慧樹章節(jié)測(cè)試答案2025年春湖南中醫(yī)藥大學(xué)
- 監(jiān)獄消防安全生產(chǎn)課件
評(píng)論
0/150
提交評(píng)論