![]() |
|
Модераторы: powerfox, ZeeLax |
![]()
|
|
| Anton Vatchenko |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 21.5.2004 Репутация: нет Всего: -1 |
Написал приложение, обычный void main, где просто инициализируется mysql. Ничего больше. Компилирую как
gcc -o planet src/main.c src/database.c -L/usr/lib/mysql -lmysqlclient -L/usr/lib -lz Получаю размер под мегабайт... Я ожидал не больше 100 кб... Может там какая-то лишняя информация есть? |
|||
|
||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 113 Всего: 317 |
1. зачем уменьшать ?
2. почему не читаем мануал gcc ? (оптимизация на величину экзешника, опции -O ) 3. а какой величины получается "обычный мейн", с "обычной инициализацией mysql" под другими компиляторами ? с.у.в. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
| Anton Vatchenko |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 21.5.2004 Репутация: нет Всего: -1 |
Смотрю этот размер примерно совпадает с библиотекой mysqlclient, которую я использую... Это что, каждая библиотека, которую я использую, будет дописываться к моему приложению?
мануал gcc ничего не дал... все эти O2, O3, O дали снижение размера на 5 кб (из 1.4 мб). |
|||
|
||||
| Glip |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 473 Регистрация: 30.12.2006 Репутация: 2 Всего: 18 |
не оно ?
|
|||
|
||||
| Anton Vatchenko |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 21.5.2004 Репутация: нет Всего: -1 |
не помогло.. Я так понял, что я как-то статически привязываю библиотеки... Может как-то динамически?
|
|||
|
||||
| Бонифаций |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 827 Регистрация: 15.9.2005 Где: Brisbane Репутация: 9 Всего: 40 |
во первых сделайте после сборки
strip planet Во вторых посмотрите свои mysql бибки(откуда они линкуются). Если там только файлы с расширением .a - значит у вас mysql собран только со статическими клиентскими бибками. Если там .so - значит можно собрать и динамически. В третьих покажите что выводит ldd planet Добавлено через 5 минут и 21 секунду Судя по вопросу все таки слинковал? Это сообщение отредактировал(а) Бонифаций - 11.4.2007, 13:36 -------------------- Бонифаций. |
|||
|
||||
| bilbobagginz |
|
||||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 113 Всего: 317 |
не знаю чем и что ты компилируешь, у меня программа:
компилируется строкой:
а в результате есть файл величиной в 7681 байт. gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) libmysqlclient: 5.0.32-7etch1 надо нормальными дистрибутивами пользоваться на самом деле, предполагаю, что собака зарылась в файле: src/database.c ты же собираешь 2 файла в 1 экзешник. посмотри какие там функции реализованы и т.д. удачи. -------------------- Я ещё не демон. Я только учусь. |
||||
|
|||||
| Anton Vatchenko |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 21.5.2004 Репутация: нет Всего: -1 |
Всем спасибо. В итоге нашел пакет MySQL-shared, и размер файла упал до 4х кб.
|
|||
|
||||
![]()
|
| Правила форума "Linux/UNIX: Oбщие вопросы" | |
|
|
В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |