❶ 使用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编译源文件涉及一堆命令就不再赘述,网络一下就有了。