模板生成c語言,模板生成c語言的軟件

本文目錄一覽:

怎樣用kdevelop創建C語言工程?

1. KDevelop只是一個IDE,要想編譯C語言程序,要安裝make和GCC,以及頭文件,那就從這裡開始:

sudo apt-get build-dep gcc

sudo apt-get install build-essential

2.安裝KDevelop

sudo apt-get install kdevelop3

3.安裝好後,可以在應用程序-編程 中看到 KDevelop了。下面這個使用KDevelop開發程序是轉的,偷下懶:-)

基本步驟

一般而言,用KDevelop編程大體要經歷如下幾個步驟。編程是比較複雜的,很難一次成功,這些步驟

可能要反覆進行多次。

在Ubuntu軟件中心裡安裝了KDevelop後,從模版新建了個Terminal的C++工程,在Build Selection後,點擊“可執行文件”卻跑不起來,還需要做如下的配置。

選擇“運行”-》“配置啟動器”

第一步,新建工程

可以通過菜單操作啟動相應的嚮導程序,藉助它完成工程的初建工作。

【Project】→【New Project】

在新建工程過程中,主要需要指定工程文件保存位置、工程名稱、工程類型,並且可以填寫編程作者

的信息。根據所選工程類型(比如,是文本界面的程序還是圖形界面的程序,是C程序還是C++程序),嚮導程序會自動生成一批模板文件。

第二步,編輯程序文件

嚮導程序一般會創建一些程序文件,應該對這些文件進行編輯以滿足特定的編程需要。

還可以執行菜單操作來增加新的文件。

【File】→【New】

上述操作後,會出現一個對話框,用於指定文件名和文件類型。根據文件類型的不同,會自動設定合

適的擴展名。注意,“Add to project”複選框應該勾選上以確保新文件被加入到當前的工程中。

第三步,生成源碼結構

在編輯好程序文件後,要先藉助GNU Build System生成系統生成源碼結構。在增加了新文件(或目

錄)、修改了文件(或目錄)名、改變文件的保存位置之後,都應該重新生成源碼結構。具體而言,生成源碼結構包括autoconf、automake等操作,把每個子目錄的Makefile.am變成了Makefile.in。具有源碼結構的程序文件包可以在任何UNIX、LINUX的系統上使用簡單的命令(即configure/make/make install等)進行配置、編譯、連接和安裝。

可以執行菜單操作來生成源碼結構:

【Build】→【Run automakeconf】

第四步,配置,即運行configure

configure是一個腳本,用來確定所處系統的細節,比如使用何種編譯器、何種庫,以及編譯器和庫的

保存位置,並把Makefile.in的相應部分進行替換,形成Makefile。

可以執行菜單操作來進行配置:

【Build】→【Run configure】

第五步,編譯連接

執行菜單操作【Build】→【Built Project】即可完成編譯連接,形成可執行文件。默認情況下,這種可執行文件是帶有源碼調試符號的。

對於多文件的程序,一般需要對每一個文件分別進行編譯生成目標文件。當每個文件的編譯通過之後,再統一進行編譯連接。單獨編譯當前正在編輯的文件的菜單操作是:

【Build】→【Compile File】

第六步,運行

如果想在KDevelop的控制下運行已編譯連接好的程序,可以執行菜單操作:

【Build】→【Excecute program】

如果想單獨運行程序,則需要先安裝,然後在命令行中輸入相應的可執行文件的名字(一般來講,就是

工程的名字)即可。KDevelop會把可執行文件放在/usr/local/bin之中

【Build】→【Install】

編寫程序文件

通過菜單操作【Project】→【New Project】啟動新建工程嚮導程序,選擇工程類型,並指定 工程名稱及其保存位置,如圖所示。接下來一路點擊Next即可完成工程的創建工作。

嚮導程序會自動生成一個含有主函數的文件。以此文件是一個模板,在它的基礎上修改並添加代碼,

即可編寫需要的程序。

編譯

程序寫好後,應該把文件保存起來,然後按照前面提到的步驟,生成源碼結構、配置、編譯,即依次

執行如下菜單操作:

【Build】→【Run automakeconf】

【Build】→【Run configure】

【Build】→【Compile File】

每一個操作若能正常完成,在Messages窗口中會出現Success的提示。如果沒有Success的提示,則表明相應的操作失敗,應查明原因。

一般來講,生成源碼結構和配置這兩個操作都能順利通過。

如果編譯連接是首次進行,則一般會失敗,因為很少有人能一次寫出沒有任何語法錯誤的程序。查看

Messages窗口中的提示信息,可以了解哪些地方出現了語法錯誤。單擊某一條錯誤提示信息,KDevelop會自動把光標定位到發生該錯誤的語句上。

依據錯誤提示,修正程序中的語法錯誤,然後再次嘗試編譯,直到出現Success的提示。

經常出現的一種情況是,程序上的一個語法錯誤會導致多條錯誤信息的出現。因此,應該把第一條錯

誤信息認真處理好,再從隨後的錯誤信息中隨機選擇幾條加以處理,然後就再次嘗試編譯,看還有沒有錯誤信息。如此反覆多次,直到把所有的錯誤提示消除掉,編譯就成功了。不要把所有錯誤信息都依次處理完再嘗試編譯,那樣的效率比較低。

生成可執行文件

編譯成功後,執行菜單操作【Build】→【Built Project】即可生成相應的生成可執行文件。

調試

接下來,可以執行菜單操作【Build】→【Excecute program】試運行程序。這種運行是在KDevelop的控制下進行的。因此,如果出現“死循環”,可以執行菜單操作【Build】→【Stop】或按Esc鍵即可中止程序的運行。

如果在程序中存在邏輯錯誤,就得不到期望的結果。邏輯錯誤的排除比較困難。必須對程序進行仔細

的分析才能找到錯誤的原因。

一般的邏輯錯誤可以根據程序的運行表現加以判斷。比較深層次的邏輯錯誤則需要藉助調試工具。

本章前面介紹的調試工具GNU gdb就是一個很好的工具,可以用它對程序進行仔細分析,查找邏輯錯

誤的根源。默認情況下,經過【Build】→【Built Project】操作之後,可以在工程目錄下的/debug/src/中找到帶源代碼調試符號的可執行文件。

發現邏輯錯誤後,就要修改程序,重新編譯連接。然後再試運行。如果仍然得不到期望的結果,說明

程序中還有邏輯錯誤,應再次進行分析。如此反覆多次,直到消除全部的邏輯錯誤。

發布可執行文件

如果只想發布程序的可執行文件,可以先調整項目的編譯連接選項,選擇優化編譯的方式。這樣可以

得到更小更快的可執行文件。

可以通過菜單【Project】→【Build Configuration】修改編譯連接選項。此菜單之下有三種選項,默認為Debug,生成的可執行文件中含有源程序調試符號;還可以選擇 Default或Optimized。選擇Optimized時,編譯連接時將進行優化,生成的可執行文件更小,執行起來也更快。

選擇Debug時,可執行文件保存在工程目錄下的/debug/src/中;選擇Optimized時, 可執行文件保存在工程目錄下的/optimized/src/中;選擇Default時, 可執行文件保存在工程目錄下的/src/中。

如果要發布可執行文件,應該選擇Optimized的方式進行編譯連接。

發布源程序

把工程目錄及其中的所有文件打包即可形成源程序包。用戶得到這個源程序包並解壓後,不必安裝KDevelop 就可以按標準方法進行編譯和安裝,即支持

configure,make,make install,make clean,make uninstall等命令。這個包也含有KDevelop的工程文件和其他相關的信息。因此,如果用戶安裝了KDevelop,可以直接打開該工程進行修改。

如何使用已有的源文件?

在KDevelop主窗口的右側有一個Automake Manager標籤。點擊該標籤,就可以看到本工程源文件所在的文件夾以及各文件。在列有文件的那個窗口上方有工具條,其中就是用來添加文件的。添加文件有兩種方式,一種是鏈接(link)方式,另一種是複製(copy)方式。

2樓

雲淡風輕 發表於:2007-6-15 14:34:31

4.遇到的問題,按照上面的方法編譯第一個程序時遇到了問題:

a)運行Run automakefriend時,報錯:

這是由於沒有安裝automake造成的,解決方法是在終端中運行下列代碼:

b)再次運行Run automakefriend時遇到錯誤:

這是由於沒有安裝libtool造成的,解決方法是

c)終於編程通過了,但是在Excecute program又提示錯誤了:

konsole not found

這是由於沒有安裝konsole造成的,安裝就好了

再次運行,終於看到結果了,收工(*^__^*)

sudo apt-get install konsole

sudo apt-get install libtool

macro `AM_PROG_LIBTOOL’ not found in library

make: *** [all] Error 1

*** Exited with status: 2 ***

sudo apt-get install automake1.9

cd ‘/home/long/code/dev/test’  WANT_AUTOCONF_2_5=”1″ WANT_AUTOMAKE_1_6=”1″ make -f Makefile.cvs

aclocal

make: aclocal:命令未找到

make: *** [all] 錯誤 127

*** Exited with status: 2 ***

c語言生成dat文件

1、首先打開vs軟件,選擇新建一個項目。

2、新建項目後,選擇win32工程,給項目起名字,選擇項目默認的路徑,然後點擊確定。

3、選擇項目的類型為DLL庫,可以選擇建一個空項目,也可以選擇win32項目,不為空,根據自己的需要。

4、然後在項目的源文件中添加一個cpp文件,寫入要編譯的代碼,然後點擊生成。

5、在Vs的輸出界面中就可以看到編譯成功了,會看到生成DLL文件的路徑,也可以自己設置DLL文件的生成路徑。

c語言程序模板

//考慮在輸入非數字或非純數字的時候要報錯

main()

{

char str[100];

int i;

float c, f; //聲明攝氏和華氏溫度變量

printf(“請輸入華氏溫度:”); //提示輸入華氏溫度

scanf(“%s”, str); //將輸入的字符串保存到變量str數組中

for (i = 0; i strlen(str); i++) {

if (str[i] ‘0’ || str[i] ‘9’) {

printf(“輸入不是純數字”);

return;

}

} //判斷輸入的字符串里是否只有數值字符

f = atof(str); //將數值字符轉換成浮點數

c = 5.0 / 9 * (f – 32); //計算攝氏溫度

printf(“攝氏溫度是%0.2f”, c); //保留兩位小數輸出

}

//直接運行通過

在c語言中如何實現函數模板

如果要寫個函數支持多種數據類型,首先想到的就是C++的模板了,但是有時候只能用C語言,比如在linux內核開發中,為了減少代碼量,或者是某面試官的要求…

      考慮了一陣子後,就想到了qsort上.qsort的函數原型:

void qsort( void *base, size_t num, size_t width, int (__cdecl *compare )(const void *elem1, const void *elem2 ) );

      快排時,只要自己實現相應數據類型的比較函數cmpare就可以了.如果比較int型時,一個典型的compare函數如下:

那麼,就是說可以利用void *. void *意指未指定類型,也可以理解為任意類型。其他類型的指針可以直接賦值給void *變量,但是void *變量需要強制類型轉換為其它指針類型。這個相信大家都知道。那麼下面以一個簡單的題目為例,來探討如何在C語言中實現模板函數。

      方法1: 利用void *.

    在看下面的源程序之前,需要了解幾點。首先,在32位平台上,任何類型的指針所佔的字節都是4個字節,因為32位機器虛擬內存一般為4G,即2的32次方,只要32位即4個字節就可以足夠尋址,sizeof(void *)=4; 其次,雖然各種不同類型的指針所佔的空間都為4個字節,但是不同類型的指針所指的空間的字節數卻不同(這一點尤為重要,下面的程序我在開始沒有調通就因為這點意識不強)。所以,如果你將一個指針強制轉換為另一個類型的指針,指針本身所佔的字節是不變的,但是,如果對這個指針進行運算,比如 *p,p++,p-=1等一般都是不同的。 再次,函數指針應該了解下,這裡不多說。 最後,因為Sandy跟我說,C++開始的時候模板的實現其實就是利用宏替換,在編譯的時候確定類型。所以,為了方便,類型也用了預編譯指令#define。

span#include “stdio.h”/span

span#include “stdlib.h”/span

span//typedef int T;  //或者下面的也可以./span

span#define  T int/span

//這個FindMin是Sandy寫的.felix021也寫了個,差不多的就不貼出來的.

void FindMin(const void  *arr,int arr_size,int arrmembersize,int *index,

int (*cmp)(const void *,const void *b)){

int i;

*index=0;

char *p=(char *)arr;

char *tmp=p;

for (i=1;iarr_size ;i++){

if (cmp(tmp,p)0){

tmp=p;

}

p+=arrmembersize;

}

(*index)=((int)(tmp-arr))/arrmembersize;

}

*//span

可以把指針看作是char *,如果轉換為int *,那下面的位移就不正確了./span

indexspan=/spanispan;/span

span}/span

span}/span

spanreturn/span indexspan;/span

span}/span

spanint/span resultspan;/spanspan//result保存的是最小值索引./span

resultspan=/spanFindMinspan(/spanarr,span12/span,

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/193476.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 15:02
下一篇 2024-12-01 15:02

相關推薦

  • Python腳本控制其他軟件

    Python作為一種簡單易學、功能強大的腳本語言,具有廣泛的應用領域,在自動化測試、Web開發、數據挖掘等領域都得到了廣泛的應用。其中,Python腳本控制其他軟件也是Python…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • 量化交易軟件哪個好?

    量化交易軟件是為量化交易而設計的工具,能夠用程序化方法對市場數據進行分析和交易決策。那麼,哪個量化交易軟件最好呢?下面從幾個方面進行詳細闡述。 一、交易功能 交易功能是量化交易軟件…

    編程 2025-04-29
  • 心形照片拼圖模板

    如何使用心形照片拼圖模板 一、模板介紹 心形照片拼圖模板是一種讓用戶可以將自己的照片拼接成一個心形的巧妙設計,每個照片都是一個拼圖塊,當所有的照片配合完成時,呈現出一個完整的心形。…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python計算機二級刷題軟件推薦

    Python作為編程語言的代表,已經在計算機學習和開發領域佔據了重要角色。Python計算機二級是國家信息技術應用能力證書的一種,是計算機應用能力的重要評估標準。對於想要獲取Pyt…

    編程 2025-04-29
  • 電腦如何下載ps軟件

    如果您想在電腦上使用Photoshop,那麼您需要下載安裝該軟件。下面是詳細的步驟說明: 一、選擇下載網站 目前市面上有很多下載網站都可以下載到Photoshop軟件,比如Adob…

    編程 2025-04-29

發表回復

登錄後才能評論