我正在尝试执行以下C代码:
#include <stdio.h>
int a = 5;
int fun1(){
a = 17;
return 3;
}
int main(){
int b;
b = a + fun1();
printf("%d\n", b);
}
当我在我的macbook上运行它时,我得到的答案是8,但当我在Linux上运行它时,我得到的答案是20。我有几个朋友运行它,每个使用Mac的人都得到了8,而每个运行Linux的人都得到了20。这是什么原因造成的?
我对正确答案不是很感兴趣,而是对两个环境背后的原因给出不同的答案感兴趣
当我像下面给出的那样编译两个.c文件时,我得到一个非常奇怪的错误。
终端编译代码
gcc -I. -o main.c matrix.c -lblas -lgfortran
错误:
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has in
我在网上学习的一门CS课程建议学生编译源代码,并在UNIX操作系统上运行valgrind之类的工具。我对UNIX、Linux、它们的工具以及用c编写代码都是完全陌生的,我曾经尝试过在VMWare Player 3.1.3上安装FreeBSD 8.1,甚至还设法让VMWare工具运行起来。但是,FreeBSD文档使我在完成常见任务时走进了许多死胡同,比如挂载NFS或USB设备。事实证明,我需要的包没有安装或配置,我也看不到任何关于如何安装它们的直接答案。
因此,如果我只是将UNIX作为工具来运行这门CS课程的gcc、g++、valgrind,而这些都可以在Linux上运行,那么使用Ubuntu
我有一个非常简单的c代码,它可以将一个字符串打印到我的linux命令行。当我在编译这个程序的主机上运行这个程序时,它会打印到我的CLI。当我将它移到另一个linux主机时,它会抛出一个错误“浮点异常”。
#include <stdio.h>
int main(void){
printf("My first C program\n");
return 0;
}
编译它的主机是
Linux Kali Debian 4.17.8 GCC版本8.2.0
主持我试图执行的
Debian Linux 4.0