Wenn ich zum Beispiel keine Standard-Bibliotheksfunktionen wie printf, putchar verwenden soll, dann kann ich einfach ein Zeichen auf den Bildschirm drucken. Gibt es einen einfachen Weg, es zu tun? Ich weiß nicht viel über Systemaufrufe und wenn ich sie dann verwenden muss, wie?
Kann also jeder eine einfache Druckmöglichkeit ohne Bibliotheksfunktionen empfehlen?
Vielen Dank für Ihre Antworten. Ich fand eine einfache Antwort durch einen Kommentar von Herrn Hao unter der Frage. Seine Antwort ist ein einfaches Programm wie dieses
Turbo C (DOS-Programm):
%Vor%oder probier das: Ссылка :) - // Hao (vor einer Stunde)
Ich habe es auf Turbo C versucht und es funktioniert. Ich wollte eine einfache Lösung wie diese und ich wollte es als richtige Antwort akzeptieren, aber er (Hao) gab es als Kommentar, also habe ich es hier für andere Benutzer eingefügt, um dies im Namen von ihm zu wissen und akzeptierte es. Nochmals vielen Dank, Mr.Hao.
In Standard C können Sie nicht. Der einzige in C definierte I / O ist über die C-Standardbibliotheksfunktionen.
Auf einer gegebenen Plattform gibt es möglicherweise Möglichkeiten, dies zu tun:
write
-Aufruf von littb direkt machen, ohne Ihre C-Bibliothek zu verwenden. Besorgen Sie sich die Quelle Ihrer C-Bibliothek, um zu sehen, wie es gemacht wird. Wenn Sie nicht gerade Ihre eigene C-Bibliothek schreiben, bin ich mir nicht sicher, warum Sie das tun wollen.
In Linux können Sie den Systemaufruf write
verwenden:
Wenn Sie nicht genug davon bekommen können, können Sie einen Schritt weiter gehen und den syscall generisch aufrufen:
%Vor% Wissenswertes zu strace
, mit dem Sie sehen können, welche Syscalls von einem bestimmten Programm verwendet werden, während es ausgeführt wird. Beachten Sie jedoch, dass für "einige einfache Parser" kaum rohe Systemaufrufe benötigt werden. Besser die Funktionen der c-Bibliothek nutzen.
Suchen Sie übrigens nach WriteFile- und GetStdHandle-Funktionen, wenn Sie die obigen Schritte in Windows ausführen möchten, ohne die c-Standardbibliothek zu verwenden. Wird nicht so wie die Linux-Lösung sein.