導航:首頁 > 源碼編譯 > gcc文件可以編譯不能運行

gcc文件可以編譯不能運行

發布時間:2022-06-27 19:25:16

❶ 使用gcc,編譯能成功,但不能運行,是怎麼回事

linux下面
使用gcc編譯
只要命令正確,就可以編譯成功的
可以先用最簡單的試試
gcc
main.c
-o
myexe
然後
./myexe
如果還不能運行,把信息發過來

❷ arm-linux-gcc 編譯後,在開發板上沒法運行

你是不是說反了?或者是說你的環境變數已經有arm-linux-gcc了,而你又用了另一個交叉編譯版本,所以導致不能運行?

❸ win下用gcc編譯c語言,編譯成功,但是沒有生成可執行文件,沒有辦法執行啊,不知道輸出什麼。

用Dev c++,Dev-C++是一個C&C++開發工具,它是一款自由軟體,遵守GPL協議。它集合了GCC、MinGW3

❹ windows下的gcc編譯的c源文件為什麼無法運行

不同操作系統的可執行文件格式是不一樣的。
原生gcc編譯的是Linux下的可執行文件
而在Windows下需要的是windows格式的。
這個就像windows的exe拿到手機上不能運行,是一個道理。
可以用mingwin一類的,重新編譯一下,生成windows的exe文件

java調用windows命令行窗口執行GCC編譯命令但是報錯:GCC程序不能運行,怎麼破

要麼寫成 .exec("gcc E:\\hello.c -o E:\\hello.exe");
要麼用你的寫法,但 gcc 要寫上完整路徑。
或者嘗試 new String[] {"C:\\windows\\cmd.exe", "/c", "gcc", "E:\\hello.c", "-o", "E:\\hello.exe"};

反正打散成數組參數後,第一個參數必須是完整路徑,不能只寫短名。

在命令行運行 java 時加上 java -Duser.language=en_US 就可以看到那些問號到底是什麼錯誤消息了,有利於找出問題。

❻ 為什麼這個程序在gcc中能夠編譯通過,而VC6.0中編譯後無法運行

那個程序本身有幾個問題。
1. 在main()中沒調用InitQueue(q)
2. 在main()中沒釋放分配的q。
3. 在DeQueue()中不應該分配QueueNode,且釋放出隊的QueueNode也釋放得不對。
能運行是靠「運氣」

下面是改後的程序,正確運行。樓主對照看看加了「////」的那4行。
#include<stdio.h>
#include<stdlib.h>
//循環隊列
//typedef int ElemType;
typedef struct QueueNode
{
int data;
struct QueueNode *next;
}QueueNode;
typedef struct Queue
{
QueueNode *front;
QueueNode *rear;
}Queue;

void InitQueue(Queue *q)
{
q->front=q->rear=NULL;
}

void EnQueue(Queue *q , int value)
{
QueueNode *temp=(QueueNode*)malloc(sizeof(QueueNode));
temp->data=value;
if(q->rear==NULL)
{
temp->next=temp;
q->rear=q->front=temp;
}
else
{
temp->next=q->rear->next;
q->rear->next=temp;
q->rear=temp;
}
}//enter a element from the tail

void DeQueue(Queue *q, int *value)
{
QueueNode *temp;////

if(q->rear==NULL)
{
return;
}// It's null
else if(q->rear->next==q->rear)
{
*value=q->front->data;
free(q->rear);
q->rear=q->front=NULL;
}//It just has one node
else
{
*value=q->front->data;
temp=q->front;
q->front=temp->next;
q->rear->next=q->front;
free(temp);////
}//more one node
}//delete a element from the head
/*問題定義:設有n個人圍坐在圓桌周圍,從某個位置開始編號1、2、3、…、n。編號為1的人開始從1報數,數到m的人便出列,下一個人(第m+1個人)又從1開始報數,
數到m的人便出列,……,如此重復,直到最後一個人出列為止。試對任意輸入的n、m,求出列順序。*/
int main()
{
Queue *q=(Queue*)malloc(sizeof(Queue));
int i,m,n,count,temp;
printf("請輸入人數n和循環要報的數m(兩數之間留個空格)\n");
scanf("%d%d",&n,&m);
InitQueue(q);////
for(i=1;i<=n;i++)
EnQueue(q,i);
printf("出圈序列:\n");
while(q->front)
{ count=1;
while(count<m)
{
q->front=q->front->next;
q->rear=q->rear->next;
count++;
}
count=1;
DeQueue(q,&temp);
printf("%d ",temp);
}
free(q);////
putchar('\n');
}

❼ linux下用gcc生成的文件在windows下怎麼不能運行

暈,linux下的執行文件本來就不能在windows下運行。
linux的執行文件一般是e2f格式。windows則是PE格式的。
如果你的程序是C寫的。你可以將其源代碼在windows下用vc之類的編譯,運氣好的話,修改不多就可以運行了。

❽ centos7.7安裝64位gcc之後編譯運行.c文件成功,但重啟電腦不正常,咋辦

摘要 ①去/etc/ld.so.conf.d/中,將搜索路徑/home/virtual/SoftwareLibrary/lib64/去掉,ldconfig後,②再次systemctl restart sshd就成功了

❾ linux下gcc編程後,可執行文件執行不了。

什麼發行版本的linux?比如ubuntu就自帶gcc,用gcc--version的命令來查看版本,沒有的話用sudo
apt-get
install
build-essential。編寫源代碼建議用vim,再用gcc編譯,在linux上vim+gcc幾乎就是程序設計的標准開發模式了。相應的gcc編譯源文件涉及一堆命令就不再贅述,網路一下就有了。

閱讀全文

與gcc文件可以編譯不能運行相關的資料

熱點內容
logback壓縮 瀏覽:888
冰箱壓縮機可以用氣割嗎 瀏覽:531
菜鳥如何加密商品信息 瀏覽:315
程序員那麼可愛小說結局 瀏覽:862
zenity命令 瀏覽:564
監禁風暴哪個app有 瀏覽:865
程序員的愛心是什麼 瀏覽:591
java中對字元串排序 瀏覽:290
單片機用數模轉換生成三角波 瀏覽:634
外網怎麼登陸伺服器地址 瀏覽:134
什麼人要懂編譯原理 瀏覽:150
源碼改單 瀏覽:713
pdfzip 瀏覽:876
壓縮空氣25兆帕會變成液體嗎 瀏覽:56
linux測試伺服器性能 瀏覽:956
dlp硬碟加密 瀏覽:365
應用加密裡面打不開 瀏覽:861
基於單片機的超聲波測距儀的設計 瀏覽:745
xp自動備份指定文件夾 瀏覽:664
我的世界伺服器如何讓世界平坦 瀏覽:173