memset頭文件 linux,error: ‘memset’ was not declared in this scope

http://blog.sina.com.cn/s/blog_79d599dc0100r2vz.html

昨天一同事把代碼準備重新全新布置到新的環境上去的時候,代碼報錯了,先開始報錯如下:

error: ‘memset’ was not declared in this scope

error: ‘strcat’ was not declared in this scope

首先想到的肯定是頭文件未包含進來。但不可能,因為這套代碼已經在其它環境上編譯過N次啦,不可能代碼里面沒有添加對頭文件的包含啊。

于是想到是否是因為新環境里面include目錄下沒有對應的頭文件呢?還或是include目錄在這個環境下變了呢?不是/usr/include下面啦。

經過一查,上面兩個都不是。

這個時候就有點郁悶啦。把環境按以前的都設置一遍,還是一樣。沒辦法啦。只好放今天來重新查查啦。

今天早上來,可能時間也比較充足,所以慢慢來。既然報這個錯誤,那我把這個頭文件再添加到.h代碼里面呢?

然后發現添加一個,某個錯誤就能編譯過去。看來還真是頭文件的問題。

但接下來還有其他幾個警告,如下:

test.cpp:213: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result

test.cpp: In member function ‘int test::load(std::string&)’:

test.cpp:58: warning: deprecated conversion from string constant to ‘char*’

test.cpp:58: warning: deprecated conversion from string constant to ‘char*’

test.cpp:58: warning: deprecated conversion from string constant to ‘char*’

test.cpp:58: warning: deprecated conversion from string constant to ‘char*’

test.cpp:58: warning: deprecated conversion from string constant to ‘char*’

test.cpp:94: warning: suggest explicit braces to avoid ambiguous ‘else’

test.cpp:61: warning: ignoring return value of ‘int pipe(int*)’, declared with attribute warn_unused_result

居然這些還報,一一為這些沒有判斷函數返回值的作了修改。編譯通過。

然后就想為什么這個系統要求這么嚴格呢?查一下GCC的版本,如下:

以前舊環境:

gcc 版本 4.1.2 20070626 (Red Hat 4.1.2-14)

現在的新環境:

gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)

原來是GCC版本不同。所以想GCC新版本對代碼的這些要求現在越來越嚴格啦。還有函數的一些檢查項,還有編譯時候MAKEFILE里面對庫文件的引用。

具體是否是因為這個嚴格的原因,沒有去詳細查GCC的文檔。但猜想是這樣吧。

以后如果代碼里面對某個函數的頭文件還是盡量包含進來吧,至少不是什么壞事。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529339.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529339.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529339.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux中ls文件內存大小,Linux下用ls和du命令查看文件以及文件夾大小

webdriver零碎知識點#零碎知識點,用于記錄平時遇到的比較雜的知識點 driver.current_url 獲取當前url phantomjs 實現無瀏覽器界面自動化測試(driver webdriver.Phanto ...ORACLE刪除當前用戶下所有的表的方法1.如果有刪除用戶的權限,則可以: drop user user_name cascade; 加…

linux物理內存地址與iomem,一種Linux系統物理內存鏡像文件分析方法_4

模塊信息,如圖7所示,給出了本發明的實施例中 模塊結構關系圖,modules變量指向某一個已加載模塊結構體module地址,所有已加載模 塊其module形成一個雙向鏈表,如圖7所示,據此可以獲取到所有已加載模塊。[0099…

linux設備分層優點,Linux設備驅動的分層設計思想

代碼清單8第2行獲取platform_data,而platform_data實際上是定義GPIO按鍵硬件信息的數組,第31行的for循環工具這些信息申請GPIO并初始化中斷,對于LDD6140電路板而言,這些信息如代碼清單10。代碼清單10 LDD6410開發板GPIO按鍵的plat…

linux 關閉桌面環境,Ubuntu 14.04上的Cinnamon桌面環境PPA被關閉

今天Cinnamon桌面環境的開發者宣布關閉Cinnamon桌面環境的PPA,這意味著以后在Ubuntu上安裝Cinnamon桌面環境將變得很難。關于為什么要關閉PPA,Cinnamon PPA的維護者Gwendal Le Bihan做出了以下解釋:“穩定的Cinnamon PPA將不再提供&#xff0…

linux sd卡讀寫出錯,linux系統SD卡讀寫問題

請教有過linux系統SD卡讀寫經驗的前輩。我的項目是對FPGA上的SD卡部分做測試,在測試過程中發現在對SD卡所有領域進行讀寫操作時1、bus width 選擇1-bit的速度4-bit是差不多的,這與我預想的不同,想知道問題出在哪里?(理論上4bit 速度應該是1-…

genymotion linux 32,Ubuntu Linux 32bit - 不是Genymotion虛擬設備

因為4天我沒有找到解決方案我的genymotion有問題 我正在使用Ubuntu 12.04 32位(architecure:i686)并安裝android studio并將genymotion的插件放入其中succefully ......現在我的問題,當點擊genymotion設備管理器,列表是空的,當我試…

grub linux rootfs,rootfs文件系統(筆記)(草稿)

文件系統簡介文件系統就是個軟件,幫用戶來管理一些二進制的信息,管理外存上存儲的這些二進制各種文件在內存中都是以二進制的形式來存在的,如果沒有文件系統,用戶就需要自己去決定這些二進制的東西是什么,需要自己去和…

linux 如何查看屬性,linux?下查看系統屬性

linux 下查看系統屬性(2009-06-28 19:01:34)標簽:linux雜談分類:OSlinux下查看系統屬性1、查看cpu信息查看所有cpu信息:cat /proc/cpuinfo查看cpu類型: grep "model name" /proc/cpuinfo2、查看內存信息:查看…

幼兒學數數的c語言程序,【資源學習】c語言程序代碼,登錄幼兒園200個小朋友的數據...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓編寫程序,登錄幼兒園200個小朋友的數據:姓名、性別、年齡、身高、體重、出生日期,分別按年齡排序后輸出。要求:(1)登錄數據用函數input()(2)按身高排序用函數sort()(3)輸出排序結果用…

c語言傳入參數不正確,請高手看看一下程序怎么回事啊?老是提示傳參數錯誤...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#includevoid main(){ void average(float, int);void search(float,int);static float score[][4]{{65,67,70,60},{80,87,90,81},{99,90,100,98}};average(score,12);search(score,2);}void average(float *p,int n){float *p_end…

vs用c語言寫貪吃蛇,熬書幾個月,終于編出簡易的貪吃蛇了,VS2013

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#include#include#include#include#define X 30#define Y 15void guozi(int *x, int *y);int main(void){char map[X][Y];int x;int y;//橫縱坐標int i;int j;//標記蛇頭int p, q;//標記蛇尾int t, d;//尋找蛇尾int n 4;//蛇的長度…

中國電信學院c語言題庫,電腦題庫試題精編版.doc

1【單選題】以下關于圖靈機的說法,正確的是( ?)。A、圖靈機是一種計算機理論模型B、圖靈機是用于圖靈測試的計算機C、圖靈機是第一臺機械式計算機D、圖靈機是馮諾依曼體系結構計算機正確答案: A?2【單選題】關于中文信息編碼,以下正確的敘述…

統計c語言中英文字幕,C語言日記——遞歸

C語言日記——遞歸首先,允許我從《c primer plus》中摘一句話:C允許函數調用它自己,這種調用稱為遞歸。有一段時間一直搞不清楚遞歸的實質,直到看到如下代碼:#includeint up_and_down(int n);int main() {up_and_down(…

gnu linux中 使用,在Linux上使用GNU sed的方法

grep 命令grep 在文件(或命令輸出)中搜索指定正則表達式,并且在標準輸出中輸出匹配的行。樣例顯示文件 /etc/passwd 中用戶 gacanepa 的信息,忽略大小寫。#grep-i gacanepa /etc/passwd顯示 /etc 文件夾下所有 rc 開頭并跟隨任意數字的內容。#ls-l /etc …

android開機自動開啟zram,低內存配置 ?|? Android 開源項目 ?|? Android Open Source Project...

Android 支持內存為 512 MB 的設備。本文檔旨在幫助 OEM 優化和配置 Android 內核 4.4,使其能夠在低內存設備上運行。在下文所述的優化措施中,有幾項非常通用,甚至也可應用于以前的版本。Android 內核 4.4 平臺優化改善了內存管理采用了經驗證…

android 自動 鍵盤,關于Android中的軟鍵盤

InputMethodService為我們的輸入法創建了一個Dialog,并且將該Dialog的Window的某些參數(如Gravity)進行了設置,使之能夠在底部或者全屏顯示。當我們點擊輸入框時,系統對活動主窗口進行調整,從而為輸入法騰出相應的空間&#xff0c…

Android渠道包自動發布市場,Android Gradle實現打包指定渠道后自動上傳到fir

fir分三個主要步驟1.獲取fir上傳憑證2.上傳APKAPP logo圖標3.獲取最新的下載地址供別人下載注:python使用的是requests網絡請求庫1.獲取fir上傳憑證image.png代碼如下:# 第一步:獲取fir上傳憑證print("get fir upload certificate"…

android studio vfs,Android Studio:嘗試呈現XML布局的InvalidVirtualFileAccessException

我正在嘗試在我的應用中預覽xml布局(任何xml布局).我正在使用Android Studio 1.5 Preview 2.我一遍又一遍地收到此錯誤:InvalidVirtualFileAccessException:訪問無效的虛擬文件:file:// D:/Scott/Android/Studio/MyApp/app/build/intermediates/classes/debug/com/scott/myapp/…

android 基類fragment,Android DialogFragment 基類的定制

鴻洋博客介紹:DialogFragment的基本使用好處:1:使用DialogFragment來管理對話框,當旋轉屏幕和按下后退鍵時可以更好的管理其聲明周期,它和Fragment有著基本一致的生命周期2.DialogFragment也允許開發者把Dialog作為內嵌…

升級鴻蒙系統無法選擇應用,申請鴻蒙系統有一個應用選擇怎么選擇呢

[分享交流]申請鴻蒙系統有一個應用選擇怎么選擇呢34364電梯直達huafen774590890新學乍練發表于 2020-12-18 22:19:17來自:HUAWEI Mate 30 Pro 5G最新回復 2020-12-19 09:31:55要怎么選擇大家知道嗎?想著你的狼自成一派發表于 2020-12-18 22:22:29來自&am…