導航:首頁 > 操作系統 > linux下寫程序

linux下寫程序

發布時間:2024-12-12 14:57:43

linux下執行qt程序怎麼編譯運行

qmake -project? 已經有.pro文件了! 直接運行qmake或者qmake snake.pro或qmake -makefile snake.pro.

重新解壓,按以下步驟做:
$ qmake
$ make
找到可執行文件(不是.o, 沒後綴的), 一般如果snake.pro中沒設置TARGET,默認生成的可執行文件為snake,輸入
.$ /snake

Ⅱ 我想在linux下寫一個c程序調用linux的可執行文件或者程序,怎麼做

Linux C編程中,調用另一個可執行文件或調用命令用system函數最簡單了,這個函數原理是在你編寫的那個程序的內部啟動另一個程序或命令,從而創建一個新進程,並等待這個進程執行完畢退出。如果正常執行,system函數將返回被執行程序或命令的退出碼;如果無法運行這個程序或命令,將返回錯誤代碼127;如果是其他錯誤,返回-1。這個函數的原型是:
#include <stdlib.h>
int system(const char *string);
參數string是將要執行的程序文件名或路徑,如果是啟動一個命令就是一個命令字元串。
還有一種執行外部程序的方法是exec系列函數,一般是在fork的子進程裡面調用exec系列函數,那主進程里直接調用exec系列不行嗎,為什麼要fork再在子進程里調用呢?因為exec系列的函數(包括execl函數)是將當前進程替換成新進程,這里的當前進程就是你編寫的程序,也就是說新進程啟動後調用exec函數的進程就不存在了,所以exec系列函數調用之後的代碼就不會再執行了。如果你不放在fork子進程裡面,那你編寫的程序的主進程在執行execl函數後就完全不存在了,所以exec系列函數的使用都是先fork然後在子進程裡面調用。因為exec系列函數都要使用fork調用,所以我一般是用system函數。

Ⅲ Linux下寫一個c程序,創建一個子進程,利用execl系統調用,若成功則去執行ls-l命令。

#include <stdio.h>
#include <unistd.h>

int main()
{
int pid;

pid = fork();

if (pid < 0)
{
printf("Failed to fork!\n");
return 1;
}

if (pid > 0)
{
wait(NULL);
}
else
{
execlp("/bin/ls", "/bin/ls", "-l", NULL);
}

return 0;
}

Ⅳ 在Linux下如何開發C程序

在Linux開發環境下,GCC是進行C程序開發不可缺少的編譯工具。GCC是GNU C Compile的縮寫,是GNU/Linux系統下的標准C編譯器。雖然GCC沒有集成的開發環境,但堪稱是目前效率很高的C/C++編譯器。《linux就該這么學》非常值得您一看。Linux平台下C程序開發步驟如下:
1.利用編輯器把程序的源代碼編寫到一個文本文件中。
比如編輯test.c程序內容如下:
/*這是一個測試程序*/
#include<stdio.h>
int main(void)
{
printf("Hello Linux!");
}
2.用C編譯器GCC編譯連接,生成可執行文件。
$gcc test.c
編譯完成後,GCC會創建一個名為a.out的文件。如果想要指定輸出文件,可以使用選項-o,命令如下所示:
$gcc-o test1 test.c
這時可執行文件名就變為test1,而不是a.out。
3.用C調試器調試程序。
4.運行該可執行文件。 在此例中運行的文件是:
$./a.out 或者 test1
結果將得出:
Hello Linux!
除了編譯器外,Linux還提供了調試工具GDB和程序自動維護工具Make等支持C語言編程的輔助工具。如果想要了解GCC的所有使用說明,使用以下命令:
$man gcc

Ⅳ 怎麼在linux下用vim編寫一個C程序

一樓的回答很好,在編譯的時候,其實可以不用退出VIM的,按ESC退出插入模式,在正常模式下輸入:w保存,然後輸入:!gcc /path/to/your/file.c就可以編譯文件了,如果有錯誤,直接就在VIM中修改,要不然為什麼VIM會被稱為神器級的編輯器呢!

Ⅵ 到底怎麼在Linux里編寫c程序啊

在linux下通常使用gedit或vim直接編寫.c程序,然後通過gcc指令編譯。以Ubuntu系統為例,詳細過程如下:

1、進入桌面Temp文件夾

Ⅶ 在Linux下用C語言做個程序 創建一個txt文件 執行程序寫一段話 寫進txt

示例教程:

1. 編寫代碼

在linux下面使用命令創建main.c文件

vimmain.c

main.c代碼:

#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
#defineMAX50
intmain()
{
intfd;
charbuf[MAX];
fd=open("1.txt",O_WRONLY|O_CREAT|O_APPEND);
if(fd==-1)
{
printf("文件創建失敗");
return-1;
}
printf("請輸入要寫入的句子:");
fgets(buf,MAX,stdin);
write(fd,buf,MAX);
printf("寫入成功 ");
return0;
}

2.編譯源程序

gccmain.c-omain

結果在此路勁下會出現main源程序

完成

Ⅷ linux下,編寫一個c語言程序實現...(詳細見正文)!急!200分懸賞!

參考ln -l命令的輸出結果,編寫了以下程序(即輸出結果和ls -l命令的輸出結果相似),通過命令行傳入要查看的目錄,如果沒有傳入參數,則顯出當前目錄:

#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <dirent.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <pwd.h>
#include <time.h>

char *getmod(mode_t mode,char *line) /*生成許可權描述字元串*/
{
memset(line,0,sizeof(char)*11);

strcat(line,S_ISDIR(mode)?"d":"-");
strcat(line,(mode&S_IRWXU)&S_IRUSR?"r":"-");
strcat(line,(mode&S_IRWXU)&S_IWUSR?"w":"-");
strcat(line,(mode&S_IRWXU)&S_IXUSR?"x":"-");

strcat(line,(mode&S_IRWXG)&S_IRGRP?"r":"-");
strcat(line,(mode&S_IRWXG)&S_IWGRP?"w":"-");
strcat(line,(mode&S_IRWXG)&S_IXGRP?"x":"-");

strcat(line,(mode&S_IRWXO)&S_IROTH?"r":"-");
strcat(line,(mode&S_IRWXO)&S_IWOTH?"w":"-");
strcat(line,(mode&S_IRWXO)&S_IXOTH?"x":"-");

return line;
}
char *directory(char *argv) /*從程序參數取出目錄*/
{
int i;
for (i=strlen(argv)-1;i;--i)
if (argv[i]=='/'){
argv[i+1]='\0';
break;
}
return argv;
}

int main(int argc,char *argv[])
{
DIR *dirp;
struct dirent *dirst;
struct stat finfo;
char *path,fname[512],mod[11],ctm[10];
struct passwd *user=NULL;
struct tm *ltm;

if (argc==1) path=directory(argv[0]);
else path=argv[1];

dirp=opendir(path);
if (!dirp)
{
fprintf(stderr,"ERROR\n");
exit(-1);
}

for (dirst=readdir(dirp);dirst;dirst=readdir(dirp))
{
strcpy(fname,path);

lstat(strcat(strcat(fname,"/"),dirst->d_name),&finfo);
user=getpwuid(finfo.st_uid);

printf("%s\t%10s\t",getmod(finfo.st_mode,mod),user->pw_name);
printf("%10d\t%9d\t",finfo.st_ino,finfo.st_size);
ltm=localtime(&finfo.st_mtime);
strftime(ctm,9,"%b",ltm);
printf("%5s",ctm);
strftime(ctm,9,"%d",ltm);
printf("%3s",ctm);
strftime(ctm,9,"%Y",ltm);
printf("%5s\t",ctm);
printf("%s\n",dirst->d_name);
}
closedir(dirp);
return 0;
}

Ⅸ linux下編寫c程序放在哪個文件夾下

第一種方法: 改名:mv hello hello.c 編譯:首先cd到你源文件的那個目錄下,這樣省去了指定絕對路徑的麻煩,比如cd到桌面,然後:gcc hello.c -o hello 運行:./hello 第二種方法: 啟動終端後 gcc /桌面/ hello.c ./a.out 第三種方法: 1.更改所...

閱讀全文

與linux下寫程序相關的資料

熱點內容
石家莊克朗編程培訓怎麼樣 瀏覽:127
安卓平板怎麼弄更流暢 瀏覽:41
招不到合適的程序員 瀏覽:956
單片機mcu燒錄 瀏覽:683
用廢物自製解壓玩具 瀏覽:974
共享文件夾怎麼讓輸入網路憑證 瀏覽:175
酷安網app如何下載安裝 瀏覽:416
移除pdf密碼 瀏覽:887
shell編程入門自學視頻 瀏覽:915
浪潮伺服器nf5270m5如何安裝系統 瀏覽:644
蘋果安卓充值游戲有什麼不同 瀏覽:653
找農家樂用什麼app 瀏覽:588
電小機器人源碼php 瀏覽:533
鴻蒙系統怎麼降到安卓系統 瀏覽:18
微積分教程pdf 瀏覽:53
androidusb傳輸 瀏覽:56
車分期到了怎樣解壓 瀏覽:639
北京稅務局伺服器地址 瀏覽:280
康泰壓縮機 瀏覽:491
命令與征服五星 瀏覽:25