ПредишенСледващото

Изходният код е обикновено (но това зависи от кода и на езика) е извършена повече от обекта. И да ги превръщат в обект код (излъчване) отнема време. Ето защо, преди много време (най-вероятно все още в 50-те години) и излезе с отделна компилация. Се съхраняват на модулите за медиен обект (и / или библиотеки), че е необходимо само да се свържете с вашата програма на етапа на сглобяване (свързване). Въпреки, че от време на време да плува всяка специална система. използвате (напр. за ученици), където около. файлове са изчезнали (напр излъчване висока скорост и малка библиотека). Но това се случва рядко. - alexlz 24 януари '12 в 11:03

Имам сериозен проблем е ясно и мога ли да ти задам един въпрос не по тема, ти каза, че ако се напише функция в заглавния файл, той ще бъде външно и е на разположение за всички модули, т.е. проектът може да има повече от един модул, ако е така, къде се използва и как тези модули взаимодействат един с друг, и да даде линк, където можете подробности за програмата съставена от повече от един модул. - username76 24ти януари '12 в 11:34

Необходимо е да се организират големи програми, така че да не се бутам всичко в едно огромно файл, който ада, който ще намерите, и се разделя на няколко модула, където се изпълняват функциите или класовете се комбинират, като правило, по този въпрос (въпреки че със сигурност не е необходимо). Взаимодействат помежду си с помощта на външни функции и променливи, които са обявени в други файлове с помощта на същите заглавията. Освен това, ако дадена програма има много модули, голяма програма, общият компилация може да отнеме много време. Ако направите промени в една функция са от съществено значение, че не е необходимо да компилирате всичко, което е достатъчно един модул. - skegg 24 януари '12 в 11:40

@ Username76, както беше казано тук, за модулите, които имахме в единици ума компилация (източник и получени от тях обект (* .o) файлове), от които свръзката (агент) прави модула натоварване (* .exe в Windows). Необходимо е да се прави разлика между (очевидно от контекста) на кои модули под въпрос. Като цяло, при изпълнение на модулите, по смисъла на компилация единици ще работят в едно и също пространство на паметта, докато модулите натоварване в различни (и невидимо помежду си. - AVP 24 януари '12 в 19:10

ИЪ - това е двоичен файл, той вече е компилиран код. Ето защо, например, стандартни библиотеки не са събрани всеки път, когато отново събира всяка здравей свят. ч - текстов файл, той декларира функция на либералните, но кода самата функции не са налични. Свързване на .h файл, така че компилаторът не знае как да изглежда в .lib функция: какви параметри те вземат (и в какъв ред) и какви ценности са върнати.

Отговаря 24 '12 Януари в 11:10

Свързани статии

Подкрепете проекта - споделете линка, благодаря!