Linux程式設計時使用gcc編譯.c出現以下問題warning: the `gets' function is dangerous and should not be used.
Linux程式設計時使用gcc編譯.c出現以下問題
[[email protected] final1]# gcc -pthread client.c
/tmp/ccSuK4v5.o: In function `writedata':
client.c:(.text+0xb2a): warning: the `gets' function is dangerous and should not be used.
解決方法如下:
使用fgets,同時對程式做稍微的修改即可.
fgets()函式的基本用法:fgets(char * s,int size,FILE * stream);//eg:可以用fgets(tempstr,10,stdin)//tempstr 為char[]變數,10為要輸入的字串長度,stdin為從標準終端輸入。
原因:程式中使用了gets()函式,Linux 下gcc編譯器不支援這個函式
相關推薦
Linux程式設計時使用gcc編譯.c出現以下問題warning: the `gets39; function is dangerous and should not be used.
Linux程式設計時使用gcc編譯.c出現以下問題 [[email protected] final1]# gcc -pthread client.c /tmp/ccSuK4v5.o: In function `writedata': client.c:(.text+0xb2a): w
Linux程式設計時使用gcc編譯.c出現以下問題,pthread.c:(.text+0x29): undefined reference to `pthread_create39;collect2: err
Linux程式設計時使用gcc編譯.c出現以下問題 client.c:(.text+0x13e): undefined reference to `pthread_create' collect2: ld 返回 1 解決方法如下: 只需在用gcc編譯時加上-pthread選項即
內網編譯安裝net-snmp,提示relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a share
公司需要在內網環境下(不能訪問外網),通用原始檔編譯安裝net-snmp,監控內網伺服器的引數資訊,但是在編譯,即make的情況下,出現了Error,因為對linux的深度使用不是很熟悉,所以經過幾天的測試才找到解決辦法,下面是錯誤: /usr/bin/l
linux下用gcc編譯c程式時遇到的問題: error: stdio.h: 沒有那個檔案或目錄
原因是沒有安裝libc6-dev的軟體包。命令列下輸入apt-get install build-essential即可。這個build-essential是幹什麼的呢?原來build-essential是一個列表,包含了編譯debian包必需的大部分元件。安裝完之後,順利解
linux下GCC編譯C程式(一)
GCC的"-lm"選項,它告訴GCC檢視系統提供的數學庫(libm)。因為Linux和UNIX的系統函式庫通常以"lib"為字首,所以我們假設它存在。真正的函式庫位置隨系統的不同而不同,但它一般會位於目錄/lib或/usr/lib中,在這些目錄中還有數以百計的其他必需的系統函式庫。 4. 共享函式庫與靜態函
混合程式設計時Matlab如何呼叫C++
目錄 0 聽說matlab裡可以呼叫C++? 1.1 檢視matlab版本資訊 使用命令:ver(‘matlab’) 1.2 設定編譯應用程式mex 使用命令:mex –setup 根據提示使用命令:mex
Macbook中使用Vim和GCC編譯C程式
Macbook中使用Vim和GCC編譯C程式 MAC中使用Vim和GCC編譯C程式 Vim及GCC指令 MAC中使用Vim和GCC編譯C程式 開啟終端(Terminal); 輸入以下命令進入Vim編輯器,同時
arm-linux-gcc編譯時出現的一些小插曲-----64位系統需要32位的庫
最近由於工作的需要,重新弄起arm-linux-gcc編譯。離上一次弄這些有整整10年了。 我是在一臺64位的機器上實機安裝的 centos7 發行版,系統和交叉編譯器的安裝過程自是沒話說,問題出在使用arm-linux-gcc編譯 arm程式時, $ arm-linu
關於linux核心模組程式設計時,多個原始碼檔案Makefile書寫的問題
在學習核心模組程式設計的時候遇到了一些由於Makefile書寫不正確導致的問題。一個.c原始檔的Makefile按照網上的大部分資料介紹那樣是沒有問題的,多個原始檔的核心模組程式設計時,就出現問題了,自己糾結了半天,最後查資料、請教大神才搞定的。把過程和解決方法貼出來,供
linux下gcc編譯 .c檔案生成動態連結庫 .so檔案,並測試呼叫該連結庫
簡單介紹:linux中so檔案為共享庫,和windows下dll相似;so可以共多個程序呼叫,不同程序呼叫同一個so檔案,所使用so檔案不同;so原檔案不需要main函式;例項,1.通過mysqlTest.c中的函式mysql(),生成一個libmysql.so連結庫#inc
mingw下用gcc編譯c檔案出現no such file or directory解決方法
c檔案直接拖進cmd時地址是對的,但gcc不認空格,所以要把路徑當做所有空格都去掉或改成“—”,這樣它就能直接發現檔案了,這時在cmd中編寫:gcc F:\new.c -o F:\new.exe ,就會出現new.e
gcc編譯c++程式(轉載)
單個原始檔生成可執行程式 下面是一個儲存在檔案 helloworld.cpp 中一個簡單的 C++ 程式的程式碼: /* helloworld.cpp */ #include <iostream> int main(int argc,char *argv[]) {
ubuntu下 GCC編譯程式出現 undefined reference to `std::ios_base::Init::Init()'問題——gcc編譯C++程式碼
hello.o: In function `main':hello.cpp:(.text+0x41): undefined reference to `std::cin'hello.cpp:(.text+0xd1): undefined reference to `std::cout'hello.o: In
gcc編譯C++程式
動態連結庫的編寫和使用 1、動態庫*.so的編譯 這裡我們用到4個檔案,它們分別為:SoDemoTest.h、one.cpp、two.cpp、three.cpp。它們的內容如下: SoDemoTest.h #ifndef __SO_DEMO_TEST_HEADER
使用c#進行socket程式設計時,獲取網絡卡的資訊
在進行程式設計時,有時候,我們需要知道資料包是來自哪個網絡卡,網絡卡的IP地址是多少,以便於進行進一步的操作。由於收到的資料包可能是廣播包或者是組播包,所以我們不能根據IP資料包的目的地址進行判斷。那麼使用C#進行網路程式設計時,如何獲取到資料包相關的網絡卡資訊? 我在網上
gcc編譯c入門
目錄 .net def 函數 庫函數 detail 安排 lan tar 1、在當前目錄下新建c文件 $:vim hello.c 2、按i進入編輯模式。按esc退出編輯模式,輸入源代碼 #include <stdio.h> int main(void) { pr
GCC編譯C源代碼的四個步驟
二進制文件 存在 鏈接 四個步驟 pre 參數 -o 包含 利用 GCC編譯C源代碼有四個步驟:預處理---->編譯---->匯編---->鏈接。 可以利用GCC的參數來控制執行的過程,這樣就可以更深入的了解編譯C程序的過程。 下面將通過對一個程序的編譯來
gcc編譯報錯 checking whether the C compiler works... no 中的 error trying to exec 39;cc139;: execvp: No such file or directory解決辦法
1 首先檢查報錯原因是execvp: No such file or directory 因此要將/etc/profile的export PATH指向gcc的lib路徑中的cc1檔案 例如我的cc1檔案在/usr/lib64/gcc/x86_64-suse-linux/4.8/ 則輸出 export P
gcc編譯c語言,非Makefile形式
gcc (選項) (引數) 選項: -o:指定生成的輸出檔案; -E:僅執行編譯預處理; -S:將C程式碼轉換為彙編程式碼; -wall:顯示警告資訊; -c:僅執行編譯操作,不進行連線操作。 引數:需要編譯的檔案 其中選項和引數位置可調換 主函式所在檔案inc
在進行資料庫程式設計時,連線池有什麼作用?
答:由於建立連線和釋放連線都有很大的開銷(尤其是資料庫伺服器不在本地時,每次建立連線都需要進行 TCP 的三次握手,再加上網路延遲,造成的開銷是不可忽視的),為了提升系統訪問資料庫的效能,可以事先建立若 干連接置於連線池中,需要時直接從連線池獲取,使用結束時歸還連線池而不必關閉連線,從而避免