Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / оптимизация для Clang / 10 сообщений из 10, страница 1 из 1
06.05.2016, 19:27
    #39231088
295
295
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация для Clang
Здравствуйте,

есть простой код
Код: plaintext
1.
2.
3.
4.
5.
6.
#include <stdio.h>
int main()
{
	printf("Hello World!");
	return 0;
}



при компиляции этого кода VS 2015(release\ x64), размер программы 10.5kb
при компиляции этого же кода под CLang x64(clang -O3 main.c -o app.exe), размер программы 112kb

Почему такая большая разница в размере, и можно ли уменьшить размер генерируемого CLang'ом файла?
...
Рейтинг: 0 / 0
06.05.2016, 19:41
    #39231095
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация для Clang
295clang -O3 main.c -o app.exe
Добавь -s.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.05.2016, 20:08
    #39231102
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация для Clang
Цель какая? Сэкономить 100 кб? Или разобраться что в этих 100 кб? Если последнее, то наверно (нет clang) там статически прилинкованный рантайм, без которого на другом компе просто не запустится. В MSVC та же проблема, но по дефолту выключено, это надо включать в свойствах проекта.
...
Рейтинг: 0 / 0
06.05.2016, 20:55
    #39231114
295
295
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация для Clang
Dimitry Sibiryakov,
аргумент -s не распознается, а если использовать -S, то да размер уменьшается до 8kb, но программа становится не рабочей.

Dima T,
да, "проблема" оказалась в рантайм библитотеке,
есть альтернативная оболочка clang-cl для совместимости с VS,
там можно задать параметр для рантайм библиотеки, например clang-cl /MD, размер становится тоже 10kb
как это сделать для просто clang я пока не нашел

Всем спасибо
...
Рейтинг: 0 / 0
06.05.2016, 21:24
    #39231126
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация для Clang
295аргумент -s не распознается
Тогда просто напусти strip на свой экзешник.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.05.2016, 22:39
    #39231161
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация для Clang
295,
размер файлов исполняемых модулей сейчас - это вообще малозначимая и трудно постигаемая вещь.
а её оптимизация вообще бессмысленна.
...
Рейтинг: 0 / 0
07.05.2016, 00:24
    #39231191
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация для Clang
MasterZiv295,
размер файлов исполняемых модулей сейчас - это вообще малозначимая и трудно постигаемая вещь.
а её оптимизация вообще бессмысленна.
Противоречишь себе
-трудно постигаемая вещь
-бессмысленна

Чем меньше, тем быстрее. Вопрос в % выигрыша )
...
Рейтинг: 0 / 0
07.05.2016, 00:50
    #39231198
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация для Clang
295,

TCC : 1536 байт.
...
Рейтинг: 0 / 0
07.05.2016, 00:59
    #39231204
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация для Clang
Usman295,

TCC : 1536 байт.
По дефолту, ТСС линкует с динамической clib. Так что правильно писать суммарный размер.

Хотя статически, он хелловорлд с минимальной CLib он тоже собирает 1.1кб.
Я как занимаюсь портированием последней tcc на kolibri.

Хотя код он конечно генерит "plain text" :`-(
...
Рейтинг: 0 / 0
07.05.2016, 01:19
    #39231208
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация для Clang
SiemarglЯ как занимаюсь портированием последней tcc на kolibri.

Хотя код он конечно генерит "plain text" :`-(А не легче ли написать траслятор C -> FASM ?
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / оптимизация для Clang / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]