Comment, en "C", print un hello world SANS importer aucune librairie ?
oddoo
2023-05-18 14:33:21
donc pas d'import à la stdio
Nigidune
2023-05-18 14:34:48
#include <unistd.h>
int main() {
const char message[] = "Hello, World!\n";
write(1, message, sizeof(message) - 1);
return 0;
}
Radarakt2
2023-05-18 14:35:01
Tu regardes le code qui se trouve dans la stdio le génie...
oddoo
2023-05-18 14:35:16
Le 18 mai 2023 à 14:34:48 :
#include <unistd.h> int main() { const char message[] = "Hello, World!\n"; write(1, message, sizeof(message) - 1); return 0; }
mais tu as importé #include <unistd.h>
ici
Nigidune
2023-05-18 14:35:52
Le 18 mai 2023 à 14:35:16 :
Le 18 mai 2023 à 14:34:48 :
#include <unistd.h> int main() { const char message[] = "Hello, World!\n"; write(1, message, sizeof(message) - 1); return 0; }
mais tu as importé #include <unistd.h>
ici
J'en sais rien moi je sais pas coder en C, j'ai demandé à ChatGPT
Hubert23
2023-05-18 14:36:30
'# include <unistd.h>
int main() {
const char message[] = "Hello, World!\n";
write(1, message, sizeof(message) - 1); // 1 correspond à la sortie standard (STDOUT_FILENO)
return 0;
}
Hubert23
2023-05-18 14:36:53
Le 18 mai 2023 à 14:35:52 :
Le 18 mai 2023 à 14:35:16 :
Le 18 mai 2023 à 14:34:48 :
#include <unistd.h> int main() { const char message[] = "Hello, World!\n"; write(1, message, sizeof(message) - 1); return 0; }
mais tu as importé #include <unistd.h>
ici
J'en sais rien moi je sais pas coder en C, j'ai demandé à ChatGPT
ahi j'ai fait la mêmehttps://image.noelshack.com/fichiers/2022/24/6/1655577587-ahi-triangle-clopent.png
Cilonen
2023-05-18 14:37:36
Quel plateforme ? Ce sont les appels système qui font l'I/O généralement (syscalls sous linux)
erezan11
2023-05-18 14:38:31
Tu fais comme ça
void main() {
asm ("mov $1, %%eax;"
"mov $1, %%ebx;"
"mov $message, %%esi;"
"mov $13, %%edx;"
"syscall;"
:
:
: "%eax", "%ebx", "%esi", "%edx"
);
asm ("mov $60, %%eax;"
"xor %%ebx, %%ebx;"
"syscall;"
:
:
: "%eax", "%ebx"
);
}
char message[] = "Hello, World!\n";
Nigidune
2023-05-18 14:38:35
#include <sys/syscall.h>
#define SYS_WRITE 1
#define STDOUT 1
int main() {
const char message[] = "Hello, World!\n";
syscall(SYS_WRITE, STDOUT, message, sizeof(message) - 1);
return 0;
}
Autre réponse de chatGPT, apparement include syscall n'équivaut pas à importer une librairie (j'y comprends rien)
Cilonen
2023-05-18 14:40:53
Appels système = interface entre OS / ton programme donc là write c'est un appel système équivalent à ce que peut faire le printf
Le problème ici c'est que ta pas communiqué quel plateforme