Сейчас на форуме: bartolomeo (+6 невидимых) |
eXeL@B —› Программирование —› Вопрос по Си программированию |
<< . 1 . 2 . 3 . 4 . >> |
Посл.ответ | Сообщение |
|
Создано: 28 ноября 2010 23:54 · Поправил: PE_Kill · Личное сообщение · #1 Хех мои жалкие потуги. Буду тут флудить. Пытаюсь накодить функцию. Функция на вход получает контекст и данные, после чего распихивает эти данные в контекст. Собственно цель оптимизировать весь код эту и другие функции по размеру. Компилятор в релизе вырезает нахрен функцию и втыкает ее код прямо в основной код, как будто это макрос. Собственно вопрос, как ему сказать что мне это не нравится, но при этом оставить оптимизацию по размеру? ----- Yann Tiersen best and do not fuck |
|
Создано: 10 декабря 2010 03:00 · Личное сообщение · #2 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 15 декабря 2010 14:30 · Личное сообщение · #3 решил написать свой короткий вопрос здесь, не создавая "лишней" темы. MFC 6. В release по умолчанию ехе'шник линкуется winspool.drv, мне спулер не нужен, тк в проекте я не пользуюсь принтером. Да и вообще в отладчике бряк на никогда не срабатывает. Хочу избавиться от мертвого груза и говорю линкеру чтоб он ее исключил, в ответ он ругается на унресолвед символы в какой-то мфцшной библиотеке. Как избавиться от них ? |
|
Создано: 15 декабря 2010 15:23 · Личное сообщение · #4 |
|
Создано: 15 декабря 2010 15:32 · Личное сообщение · #5 |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 15 декабря 2010 17:01 · Поправил: ELF_7719116 · Личное сообщение · #6 ну не выдирать же из мфц либл эти symbols ?там их три всего. повозился немного, пока безрезультатно. neomant Длл никак не получиться уже --- 5 минут спустя: Уважаемые коллеги, задача решена! Беру ольку 2. Открываю как бинарник NAFXCW.LIB. В конце нее по порядку с zero байтом идут символьные функции на линковку. Из всего списка отношение к winspool.lib имеют только три(_OpenPrinter@24,_ClosePrinter@4,_DocumentProperties). Беру бинарным поиском ищу последовательность 00??...??00 , количество "??" < strlen("_OpenPrinter@24") и оказывается есть символьная ссылка с меньшей длинной, заменяю все три спулеровские ею, хвосты зануляю. Компилится и работает без ошибок! И БЕЗ winspool.drv(lib). В ехе'шнике осталось всего 8 длл'ок |
|
Создано: 18 декабря 2010 06:40 · Личное сообщение · #7 |
|
Создано: 18 декабря 2010 07:09 · Личное сообщение · #8 |
|
Создано: 18 декабря 2010 07:24 · Личное сообщение · #9 |
|
Создано: 18 декабря 2010 07:37 · Личное сообщение · #10 |
|
Создано: 18 декабря 2010 07:52 · Личное сообщение · #11 |
|
Создано: 18 декабря 2010 08:03 · Личное сообщение · #12 |
|
Создано: 18 декабря 2010 08:21 · Личное сообщение · #13 |
|
Создано: 18 декабря 2010 08:27 · Личное сообщение · #14 |
|
Создано: 18 декабря 2010 08:35 · Личное сообщение · #15 |
|
Создано: 18 декабря 2010 08:52 · Личное сообщение · #16 |
|
Создано: 18 декабря 2010 09:19 · Личное сообщение · #17 reversecode пишет: итоговый будет собиратся на в студии? В том то и дело, что не в студии, поэтому и хочется, чтобы все студийные функции были в этом одном OBJ. Такс, с помощью lib.exe вытащил все OBJ из libcmt.lib, как их прилинковать к главному OBJ? Что конкретно писать? ----- Yann Tiersen best and do not fuck |
|
Создано: 18 декабря 2010 10:25 · Личное сообщение · #18 |
|
Создано: 18 декабря 2010 11:05 · Личное сообщение · #19 Чего-то вы ерундой занимаетесь. PE_Kill пишет: Это асм файлы, как их включить в проект? Асм файлы включаются в проект, как и любые другие файлы *.с, в компиляцию, никуда их инклюдить не нужно. Каждый асм файл, как и *.с файл, породит obj файл, которые затем линкуются в исполняемый модуль. Это же прописные истины... ----- Everything is relative... |
|
Создано: 18 декабря 2010 11:10 · Личное сообщение · #20 |
|
Создано: 18 декабря 2010 11:14 · Личное сообщение · #21 |
|
Создано: 18 декабря 2010 11:17 · Личное сообщение · #22 |
|
Создано: 18 декабря 2010 11:24 · Поправил: PE_Kill · Личное сообщение · #23 Потому что: 1) Я не хочу чтобы была куча файлов, чуждых среде, в которой они собираются 2) А если в external будет 1000 функций, мне что 1000 OBJей потом еще таскать с проектом? В masm32 при инклудах собирается всё в один OBJ не понимаю, почему в более продвинутой студии с этим такая проблема. ----- Yann Tiersen best and do not fuck |
|
Создано: 18 декабря 2010 11:28 · Личное сообщение · #24 Если асм файлы являются системными, а не вашими собственными, то проще к проекту подключить соответствующую либу, и будьте уверены, что из неё возьмутся только те объектники, которые нужны для линковки. Выдирать из либы объектники и подключать к проекту не имеет смысла. ----- Everything is relative... |
|
Создано: 18 декабря 2010 11:30 · Поправил: reversecode · Личное сообщение · #25 ну неумеет наверное cl этого делать надо кстати поекпериментировать с gcc, он помоему тоже этого не умеет можно сделать так в твой .c вставить _asm вставку твоих функций с .asm файла но тогда ручками прийдется править потому что я там смотрел в a*ll.asm инклудятся другие .inc файлы PE_Kill пишет: 2) А если в external будет 1000 функций, мне что 1000 OBJей потом еще таскать с проектом? вообще то это собирается в .lib а делать из сотни .obj один .obj, видимо не серьезно с точки зрения разработчиков компилятора) |
|
Создано: 18 декабря 2010 11:52 · Личное сообщение · #26 reversecode пишет: а делать из сотни .obj один .obj, видимо не серьезно с точки зрения разработчиков компилятора Это да, но тут не OBJ а исходники, а это должно собираться в один OBJ. reversecode пишет: в твой .c вставить _asm вставку твоих функций с .asm файла В данном случае можно, но если опять же это большой проект с сотнями функций я задолбаюсь их переносить в один файл, да и это регресс какой то. ----- Yann Tiersen best and do not fuck |
|
Создано: 18 декабря 2010 12:06 · Поправил: sniper · Личное сообщение · #27 PE_Kill если у тебя один .c файл, то получится один obj. если нужно crt прилинковать, то используй /MT: не пойму в чём проблема. |
|
Создано: 18 декабря 2010 12:10 · Поправил: reversecode · Личное сообщение · #28 |
|
Создано: 18 декабря 2010 12:16 · Личное сообщение · #29 sniper Создает определение _MT и указывает компилятору на необходимость размещения имени библиотеки LIBCMT.lib в файле OBJ, чтобы компоновщик использовал библиотеку LIBCMT.lib для разрешения внешних символов. А мне нужны сами функции в OBJ как сказал reversecode а не имя библиотеки где их брать. ----- Yann Tiersen best and do not fuck |
|
Создано: 18 декабря 2010 12:28 · Личное сообщение · #30 reversecode пишет: и теперь нужно скомпилить такой obj файл(не exe!) который бы заинлайнил в себя __alldiv функцию из CRT Вопрос, зачем всё пихать в один объектник? Но, если для каких-то приватных целей это необходимо, то выход здесь только один - объединить все исходники (*.с и асм) в один файл, а затем его откомпилировать. ----- Everything is relative... |
|
Создано: 18 декабря 2010 12:39 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . >> |
eXeL@B —› Программирование —› Вопрос по Си программированию |