2012-03-25 17 views
2

wenn ich Ucos Quelldateien lesen, finde ich diesen Code in ucos_ii.cWas ist der Vorteil von .c-Dateien?

#include "os_core.c" 
#include "os_mbox.c" 
#include "os_mem.c" 
#include "os_q.c" 
#include "os_sem.c" 
#include "os_task.c" 
#include "os_time.c" 

was ist die advandage von einschließlich .c-Dateien?

+1

im Gegensatz zu einschließlich .h-Dateien? –

Antwort

4

Dadurch können sie dem Compiler möglicherweise mehr Inlining und/oder Platzoptimierung ermöglichen. uCos ist ein Embedded-Betriebssystem, daher ist alles, was Platz und Zeit spart, eine gute Sache. (Im Rahmen des Zumutbaren, natürlich)

+1

+1 für einen möglichen Grund, warum uCos-Code dies tun könnte –

1

Ich hoffe, jemand kann mich korrigieren, wenn ich falsch liege, da meine Episoden der Codierung in C sind weit und wenige dazwischen, aber AFAIK, Hinzufügen einer .c Datei wie das können Sie alle Funktionen und was nicht definiert sind in dieser Datei, als ob sie direkt in der Datei codiert wären, in der sie enthalten sind. Das sollte Ihnen erlauben, eine komplexere Datei aus einfacheren, wiederverwendbaren Teilen aufzubauen.

+5

Alles, was du sagst, ist wahr, aber es ist nicht die normale Art, Dinge zu tun. Normalerweise würde man alle .c-Dateien separat kompilieren und sie dann am Ende miteinander verbinden. –

+0

@CarlNorum Ich dachte so viel. Danke für das Follow-up. –

+0

Genau das tue ich. – Mikhail

0

Ich denke, das das System Library-Funktion zu importieren verwendet wird, und wenn Sie eine Methode verwenden müssen, die von der Systembibliothek als es

2

arbeitet, kann es den Bauprozess vereinfachen, indem eine einfachere Make-Datei benötigen. In diesem Fall müssen 7 weniger Dateien zum Makefile hinzugefügt werden. Wenn Projekte jedoch groß werden, wird es schnell unhandlich.

Ein weiterer Nachteil ist jede Variable, die normalerweise interne Verknüpfung haben würde, ist jetzt für die anderen c-Dateien verfügbar.

Verwandte Themen