web-dev-qa-db-fra.com

Ne peut pas courir mon monde bonjour en C

J'essaie d'écrire un programme de base en C en utilisant gedit ou un texte sublime (ce que je préfère), mais peu importe ce que je fais lorsque j'essaie de compiler ou d'exécuter, ou même lorsque je suis en train d'écrire, je n'ai pas la possibilité d'utiliser 'stdio. h 'ou tout autre paquet similaire. Même lorsque je commence à taper #include <st, le seul suffixe d'achèvement de Word suggère est 'struct'.

J'ai lu des dizaines de threads, mais tous ont réussi à résoudre ce problème en installant gcc, que j'ai essayé de réinstaller plusieurs fois, sans succès.

Voici le résultat de 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) `

C'est le code:

#include <stdio.h>

int main(void)
{
printf("hello, world\n");
}

Quand je compile avec gcc, je n’obtiens rien, aucune erreur du moins. mais quand j'essaie de courir en utilisant seulement ./hello.c c'est ce que je reçois.

4
Sketch

gcc crée un fichier exécutable appelé a.out par défaut. Exécutez ça à la place.

Vous pouvez également créer un exécutable nommé sensible:

gcc -o hello hello.c

Et encore plus simple, en utilisant le règles par défaut intégrées dans make :

make hello
38
nickcrabtree

Vous devez installer le package correspondant avec les en-têtes (normalement libc6-dev) avec

Sudo apt-get install libc6-dev

Et bien sûr, installez build-essential avec

Sudo apt-get install build-essential

Puis compilez votre hello.c avec la commande:

gcc hello.c -o hello

et lancez-le:

./hello 
10
N0rbert