Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
PolAR
Зарегистрирован: 01.11.2004 Сообщения: 133
|
Добавлено: Чт Май 12 2005 20:28 Заголовок сообщения: Как читать исходники под *nix системы |
|
|
Подскажите где можно глянуть про правила организации исходного кода ( если они вобще есть ).
Конкретно интересно как пишут исходники под Линукс , точнее пока как их правильно читать: с чего начать и как передвигаться по исходникам. _________________ Come Together!! Right Now.... |
|
Вернуться к началу |
|
|
tinimi
Зарегистрирован: 27.03.2005 Сообщения: 90 Откуда: Win32
|
|
Вернуться к началу |
|
|
PolAR
Зарегистрирован: 01.11.2004 Сообщения: 133
|
Добавлено: Пт Май 13 2005 03:26 Заголовок сообщения: |
|
|
2 tinimi:
Спасибо вам конечно за Цитата: | отеческую доброту | , ное если я тут написал, то найти мне особо ниче в Fuchikg Web не удалось -искаю я плохо , не повезло мне короче! _________________ Come Together!! Right Now.... |
|
Вернуться к началу |
|
|
PolAR
Зарегистрирован: 01.11.2004 Сообщения: 133
|
Добавлено: Пт Май 13 2005 03:33 Заголовок сообщения: |
|
|
2 tinimi:
Извините за немного раздраженный и поспешный ответ.
Действительно Страуструп в сети есть, надо просто знать че ищешь , поэтому просто СПАСИБО! за отеческую доброту _________________ Come Together!! Right Now.... |
|
Вернуться к началу |
|
|
PolAR
Зарегистрирован: 01.11.2004 Сообщения: 133
|
Добавлено: Пт Май 13 2005 04:06 Заголовок сообщения: |
|
|
Я че-то не подумал и сразу не написал - я Си немного знаю, поэтому не отсылайте к книжкам для начинающих ( я не про Страуструпа - я про него хорошие отзывы от профессиональных программистов слыхал ).
В коде я разобраться смогу - мне не хватает знаний по общепринятым соглашениям, как мне самому кажется . Ну и наверно по работе с прогами, которые состоят не из одного файла ( исключая случай с Код: | #include"someFunct_in_other_file" | как я понял профи проги несколько иначе организовывают.
Есть конкретный вопрос: я изучал *.h файлы и нигде в них не нашел ссылок на бинарники библиотек, как gcc узнает какую библиотеку? Точнее даже это происходит на стадии линковки, поэтому - как ld это узнает? _________________ Come Together!! Right Now.... |
|
Вернуться к началу |
|
|
tinimi
Зарегистрирован: 27.03.2005 Сообщения: 90 Откуда: Win32
|
Добавлено: Пт Май 13 2005 19:44 Заголовок сообщения: |
|
|
Ну тогда посмотри на сурсы кернеля.
Многое есть в страусе.
Официально соглашений нет. _________________ [ TiNiMi ] |
|
Вернуться к началу |
|
|
критикан
Зарегистрирован: 18.02.2005 Сообщения: 247
|
Добавлено: Пн Май 16 2005 16:31 Заголовок сообщения: и зачем этот ассемблер? регистры и на фоксе программируются |
|
|
PolAR писал(а): | Есть конкретный вопрос: я изучал *.h файлы и нигде в них не нашел ссылок на бинарники библиотек, как gcc узнает какую библиотеку? Точнее даже это происходит на стадии линковки, поэтому - как ld это узнает? |
Есть конкретный ответ: никак.
Расшифровка ответа: в том смысле, как задан вопрос, библиотеки -- ни бинарники, ни исходники -- в *.х-файлах не записаны. лд узнаёт нужные бинарники (более строго, объектные модули) как явный список объектных модулей, которые нужно сшить. Это делается благодаря тому, что гцц при вызове лд передаёт ему полный список сшиваемых объектных модулей, который состоит из модулей, скомпилированных при вызове самого гцц (типа гцц *.цпп), плюс автоматически подключаемых (если, конечно, нет указания о намеренном отключении) системных модулей.
---------------------------------------------
и зачем этот ассемблер? регистры и на фоксе программируются |
|
Вернуться к началу |
|
|
PolAR
Зарегистрирован: 01.11.2004 Сообщения: 133
|
Добавлено: Вт Май 17 2005 09:44 Заголовок сообщения: |
|
|
Спасибо за ответ, этот вопрос меня очень интересовал!
Если можно - попрошу уточнить!
Правильно ли я понял процесс разработки собств. библиотеки?
1. Пишем саму библиотеку ( bibl )
- в bibl.h - описание всех структур и классов
- в bibl.cpp - описаны тела функций, а в самом верху сделан
2. g++ -c bibl.cpp => bibl.o
3. Для того чтобы использовать библиотеку теперь:
- proga.cpp - прога использующая bibl
в ней прописано
- Код: | g++ proga.cpp bibl.o |
Thats right?? _________________ Come Together!! Right Now.... |
|
Вернуться к началу |
|
|
критикан
Зарегистрирован: 18.02.2005 Сообщения: 247
|
Добавлено: Вт Май 17 2005 15:49 Заголовок сообщения: (copy)right хорошо, только когда оно (copy)left |
|
|
PolAR писал(а): | Спасибо за ответ, этот вопрос меня очень интересовал!
Если можно - попрошу уточнить!
...............
Thats right?? |
Практически right. Если говорить строго, то предложение
#include <bibl.h>
не обязано быть в тексте bibl.cpp, хотя на практике в подавляющем числе случаев это имеет место. Поясняю: декларации, записанные в bibl.h предназначены прежде всего для программ, которые используют библиотеку bibl.o, чтобы компилятор сумел правильно определить способ вызова функций и использовать правильные константы, в том числе макроконстанты. А в тексте самой библиотеки никто не обязывает использовать именно эти декларации.
И ещё одно замечание: синтаксис делает различие между записью
#include <bibl.h>
и
#include "bibl.h"
Но, думаю, это замечание излишне.
-----------------------------
(copy)right хорошо, только когда оно (copy)left |
|
Вернуться к началу |
|
|
PolAR
Зарегистрирован: 01.11.2004 Сообщения: 133
|
Добавлено: Ср Май 18 2005 10:28 Заголовок сообщения: |
|
|
Спасибо, я разобрался!!
и про кавычки я знал _________________ Come Together!! Right Now.... |
|
Вернуться к началу |
|
|
tinimi
Зарегистрирован: 27.03.2005 Сообщения: 90 Откуда: Win32
|
Добавлено: Чт Май 19 2005 00:23 Заголовок сообщения: |
|
|
Жуть.
Кто бы мог подумать, я ето еще в класе в 1 знал _________________ [ TiNiMi ] |
|
Вернуться к началу |
|
|
PolAR
Зарегистрирован: 01.11.2004 Сообщения: 133
|
Добавлено: Чт Май 19 2005 04:57 Заголовок сообщения: |
|
|
я тоже в первом, точнее на первом - курсе универа _________________ Come Together!! Right Now.... |
|
Вернуться к началу |
|
|
|