2011-01-05 2 views
0

Je veux écrire en simple C IDE, j'en ai écrit quelques parties. Il peut vérifier la syntaxe de C, maintenant je dois lier mon programme à gcc, pour rendre le fichier exécutable. Maintenant, mon programme peut obtenir ce que vous avez entré, puis enregistrez-le dans n'importe quel format (comme le bloc-notes) Maintenant, je veux dire g ++ pour faire un fichier exécutable, comment puis-je le faire? (Par exemple E.g) lorsque l'utilisateur enregistre son fichier puis tapez «compilez-le» dans mon programme, g ++ faites-le et enregistrez le fichier exécutable où le programme veut ou affiche des erreurs. Comment puis-je le faire? Je veux le programmer pour Windows OS.simple IDE en C, lier mon programme à gcc

+0

Quelqu'un traduire cela pour nous? Je ne suis pas sûr de savoir exactement quelle est la question. – cHao

+1

De votre description, vous n'écrivez pas un compilateur, mais un gcc-wrapper. Il n'est pas clair quelle langue ou plateforme que vous utilisez, cette information peut aider les autres à vous aider. –

+0

Est-ce que vous écrivez un compilateur (prend un fichier C, produit un fichier EXE) ou un IDE (comme Notepad, permet d'écrire le fichier C, puis appelle gcc pour le convertir en EXE)? –

Répondre

2

Vous n'avez pas besoin de "lier" à gcc, vous l'invoquerez plutôt dans un sous-processus. Ceci est généralement fait en utilisant fork() et exec(), fournissant la ligne de commande complète à gcc pour qu'il sache ce qu'il faut compiler, comment le compiler et où stocker l'objet ou le résultat du fichier exécutable.

Vous ne mentionnez pas votre système d'exploitation, mais comme vous l'avez mentionné gcc, je vais supposer Linux; jetez un oeil à ce tutorial, mais il y en a beaucoup plus là-bas.

+0

Merci pour votre réponse, je pense que c'est si bon pour démarrer, mais que dois-je faire pour Windows, je suis en train de programmer dans Windows, de toute façon merci –

+0

Ah OK, je ne suis pas trop sûr lorsque vous utilisez cygwin? - Il pourrait vous fournir les appels fork()/exec() à utiliser. Si vous utilisiez les compilateurs Microsoft (qui sont gratuits avec WinSDK, BTW), vous utiliseriez la famille d'appels CreateAppProcess() de l'API Win32. – trojanfoe

+0

puis-je vous demander d'écrire un exemple simple ici? Merci encore: D –