Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2011, 18:35   #1
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
Вопрос Почему при написании dll без rtl не выходит экспорт функции??

Необходимо написать минимальную dll на d7 (без использования rtl) Но после линковки функция не экспортируется, если писать с rtl То всё прекрасно работает. Выкладываю 2 примера. Видимо необходимо ещё глубже копать, в чём проблема?
Вложения
Тип файла: rar dll mini export.rar (12.7 Кб, 14 просмотров)
dolphin705 вне форума Ответить с цитированием
Старый 01.02.2011, 19:47   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

трояны в аттаче, выложите код как текст сюда, вряд ли он такой уж большой
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 01.02.2011, 20:33   #3
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

Почистил, остались только сорцы
Вложения
Тип файла: rar dll mini export.rar (4.3 Кб, 11 просмотров)
dolphin705 вне форума Ответить с цитированием
Старый 01.02.2011, 21:41   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Пардон, а кто будет блок Exports писать?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 01.02.2011, 22:00   #5
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Пардон, а кто будет блок Exports писать?
А вот насчёт этого можно поподробнее? Может статьи какие нибудь есть? Буду рад любой полезной информации.

Код:
library Project;

function MessageBoxA(hWnd: integer; lpText, lpCaption: PChar; uType: integer): Integer; stdcall; external 'user32.dll' name 'MessageBoxA';

procedure mes; export;
begin
MessageBoxA(0,'Экспортная','',0);
end;

exports mes;
begin
end.
Почему этот код с rtl работает, а без неё не хочет?
dolphin705 вне форума Ответить с цитированием
Старый 01.02.2011, 22:03   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
exports mes;
begin
end.
Тфу, блин, не заметил, он у вас есть.
В вашем коде в архиве с ходу кажется, что его нет:
Код:
exports mes;
begin
me;
MessageBoxA(0,'Îñíîâíàÿ','',0);
end.
На процедуру смахивает.

Скорее всего в самописных system и sysinit что-то пропустили.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 01.02.2011 в 22:08.
Alex Cones вне форума Ответить с цитированием
Старый 01.02.2011, 22:06   #7
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

Видимо в сами модули System.pas и SysInit.pas нужно лезть и дописывать самому, но в них чёрт ногу сломит... Может кто занимался таким?
dolphin705 вне форума Ответить с цитированием
Старый 01.02.2011, 22:09   #8
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

А чем не устраивает 14 минимальных килобайт? Хотите меньше - пишите на асме. Для дельфы это "минимум".
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 01.02.2011, 22:12   #9
mss
Заблокирован
 
Регистрация: 27.05.2010
Сообщений: 1,099
По умолчанию

> а без неё не хочет?

А чем она тебе помешала ?
Только не надо здесь гнусавить, мол, мне эти рантаймовые 30-40 кб жизнь исковеркали.. Сразу в топку такие "аргументы")
mss вне форума Ответить с цитированием
Старый 01.02.2011, 22:16   #10
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

После этой http://www.interface.ru/home.asp?artId=5654 статьи стало интересно писать без ртл. Для меня + в том что ничего лишнего

Так выглядит с ртл и без изнутри!!!

Аргумент - Убрать неиспользуемые экспорты, как видите их достаточно
Изображения
Тип файла: jpg Снимок.JPG (22.4 Кб, 29 просмотров)
Тип файла: jpg Снимок1.JPG (23.3 Кб, 30 просмотров)

Последний раз редактировалось dolphin705; 01.02.2011 в 22:19. Причина: +
dolphin705 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт классов в DLL _-Re@l-_ Паскаль, Turbo Pascal, PascalABC.NET 16 17.11.2010 21:25
Ошибка при экспортировании функции из dll wmzvov Помощь студентам 0 01.10.2010 17:00
Windows I/o без Kernel32.dll и Advapi32.dll coinkrsk Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 31 27.06.2010 08:52
экспорт в dll varelik Общие вопросы Delphi 3 13.01.2010 11:30
Почему когда integer cтановиться =100001,выходит ошибка Дима я Общие вопросы Delphi 8 21.12.2009 11:33