无法在 C 中运行我的 hello world

Ske*_*tch 7 gcc c

我正在尝试使用 gedit 或 sublime text(我更喜欢)在 C 中编写一个基本程序,但是无论我在尝试编译或运行时做什么,甚至在编写时,我都无法选择使用 'stdio. h' 或任何类似的包。即使我开始打字#include <st,sublime 建议的唯一单词就是“struct”。

我已经阅读了几十个线程,但都设法通过安装来解决这个问题 gcc,我已经尝试重新安装多次,但没有成功。

这是来自的输出gcc -v

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.2.0-8ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.2.0 (Ubuntu 7.2.0-8ubuntu3) `
Run Code Online (Sandbox Code Playgroud)

这是代码:

#include <stdio.h>

int main(void)
{
printf("hello, world\n");
}
Run Code Online (Sandbox Code Playgroud)

当我编译 using 时gcc,我什么也没得到,至少没有错误。但是当我尝试使用它运行时,./hello.c这就是我得到的。

nic*_*ree 39

gcc 默认创建一个名为 a.out 的可执行文件。运行它。

或者,创建一个合理的命名可执行文件:

gcc -o hello hello.c
Run Code Online (Sandbox Code Playgroud)

更简单的是,使用内置于 make默认规则

make hello
Run Code Online (Sandbox Code Playgroud)

  • 你不必有一个 makefile 来使用 make!试试看…… (19认同)

N0r*_*ert 11

您需要使用标头(通常为libc6-dev)安装相应的包

sudo apt-get install libc6-dev
Run Code Online (Sandbox Code Playgroud)

而且可以肯定安装build-essential

sudo apt-get install build-essential
Run Code Online (Sandbox Code Playgroud)

然后hello.c使用以下命令编译您的:

gcc hello.c -o hello
Run Code Online (Sandbox Code Playgroud)

并运行它:

./hello 
Run Code Online (Sandbox Code Playgroud)

  • 我想我安装了这些一千次。但最后一部分,有人已经评论过了,奏效了。谢谢! (2认同)