昨天我写了一个-F
,工作正常。现在我想对文件进行一些更改,所以我只是将这段代码复制到一个新文件中。编译新文件很好,但是当我尝试运行我的可执行文件时,我得到了C code
。但是我之前的代码正在运行。最初我认为这是一个权限问题所以我使用segmentation fault
更改了可执行文件的权限。但我仍然得到chmod 777
。这是我的代码: -
segmentation fault
我想知道为什么当用两个不同的文件编写时,相同代码的行为会有所不同。这可能是什么原因?
答案 0 :(得分:0)
遇到问题,忘记初始化ioval
。正确的代码在这里: -
#include <stdio.h>
#include <time.h>
void pauseSec(int sec);
int main() {
FILE *io,*iodir,*ioval,*iodir_S,*ioval_S,*io_S,*iodir_P,*ioval_P,*io_P;
io = fopen("/sys/class/gpio/export", "w");
fseek(io,0,SEEK_SET);
fprintf(io,"%d",15);
fflush(io);
iodir = fopen("/sys/class/gpio/gpio15/direction", "w");
fseek(iodir,0,SEEK_SET);
fprintf(iodir,"out");
fflush(iodir);
ioval = fopen("/sys/class/gpio/gpio15/value", "w");
while(1)
{
fprintf(ioval,"%d",1);
fflush(ioval);
pauseSec(1);
fprintf(ioval,"%d",0);
fflush(ioval);
pauseSec(1);
}
fclose(io);
fclose(iodir);
fclose(ioval);
return 0;
}
void pauseSec(int sec) {
time_t now,later;
now = time(NULL);
later = time(NULL);
while((later - now) < (double)sec)
later = time(NULL);
}