|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.01.2017, 23:39 | #1 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Механизм исключения неиспользуемых процедур из кода (MASM/TASM)
В отличие от языков высокого уровня, в программы на ассемблере включается весь код, который содержится в исходнике,
в том числе процедуры и данные, которые реально не используются. В первую очередь, я имею в виду include-файлы, а не библиотеки (*.lib). Поэтому я решил сделать механизм, который будет исключать неиспользуемый код из финального релиза. Пользуйтесь на здоровье (см. аттач)!!! Код:
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
06.01.2017, 23:39 | #2 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Продолжение...
Код:
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
07.01.2017, 03:13 | #3 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
|
|
07.01.2017, 12:34 | #4 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
p51x, линкер-то один, а вот компиляторы, которые обрабатывают исходник и решают что брать, а что нет - разные.
Если я сделаю include-файл, в котором будет 50 математических функций, и подключу его к asm-проекту, но использую только 2 функции, то в итоге в проге будет зашито все 50 функций, что не очень-то и разумно. Разве не так? И причём тут линкер? А если сделать то же самое на C или Pascal/Delphi, то зашиты будут именно эти 2 функции (если не говорить о виртуальных методах). Об этом и речь...
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
Последний раз редактировалось 7in; 07.01.2017 в 12:37. |
07.01.2017, 12:54 | #5 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Компилируйте каждую функцию в отдельный сегмент, остальное сделает линкер.
|
07.01.2017, 13:24 | #6 | |||||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
|||||
07.01.2017, 16:50 | #7 | |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Цитата:
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
|
07.01.2017, 16:53 | #8 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Inlcude-файлы с функциями (процедурами). Есть плюсы и минусы как у lib'ов, так и у inc'ов. Главный плюс inc'а - это то, что это исходник, которой можно изменить или можно в него встроить кучу всяких if/ifdef и т.п., сконфигурировав финальный код по-своему. Или просто взять какой-то кусок и вырезать для своей программы. Ну и т.д.
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
07.01.2017, 21:05 | #9 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Вы пост читайте до конца, а? inc в асме содержат прототипы функций, в них обычно кода нет (кроме макросов)
|
07.01.2017, 22:48 | #10 | |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Цитата:
inc в асме могут содержать всё, что угодно, в т.ч. сами функции. Или Вы такого не встречали?
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
Последний раз редактировалось 7in; 07.01.2017 в 23:03. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Эллипс в DOS (masm, tasm, fasm) | Mikl___ | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 14 | 13.12.2014 09:06 |
Номер первого положительного числа / Assembler, MASM, TASM | schibeki | Помощь студентам | 1 | 04.03.2014 12:13 |
Конвертер с языка masm на язык tasm | максат | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 6 | 14.06.2011 14:27 |
Обьясните различия между - FASM, WASM, VASM, MASM, TASM | Amancha | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 9 | 17.01.2009 15:38 |
Чем отличается Tasm от Masm | veter_s_morya | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 17 | 21.07.2008 16:55 |