![]() |
|
![]() ![]() ![]() |
|
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 7 Всего: 34 |
собственно субж
![]() -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
NightGoblin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1021 Регистрация: 24.11.2002 Где: 127.0.0.1 Репутация: 1 Всего: 11 |
Ну я время от времени развлекаюсь
![]() ![]() -------------------- Kernel panic: /dev/null overflow! GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y? B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981 |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 7 Всего: 34 |
да вот решил тоже поразвлекатся
столкнулся с трудностями при использовании окромя кернела какихто либ как из них вызывать функции? есть ченить похожее на LoadLibrary ? или к примеру как с помощью gcc линковать vga_init например? gcc -o main main.s -lvga ? -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
NightGoblin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1021 Регистрация: 24.11.2002 Где: 127.0.0.1 Репутация: 1 Всего: 11 |
Функции вызывать проще всего - call function
![]() А в gcc - именно так, как ты написал ![]() Это сообщение отредактировал(а) NightGoblin - 10.9.2003, 05:04 -------------------- Kernel panic: /dev/null overflow! GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y? B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981 |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 7 Всего: 34 |
все разобрался,линкуется
![]() ну а к примеру загрузку либы как сделат? теперь гдеб найти описание разных либ? а к примеру таже svgalib в man както не полно освещено Это сообщение отредактировал(а) oleg1973 - 10.9.2003, 12:04 -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
NightGoblin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1021 Регистрация: 24.11.2002 Где: 127.0.0.1 Репутация: 1 Всего: 11 |
Дык а куда загрузку-то... Линкуешь прогу с ней - и все... Если уж очень хоцца - можешь слинковать статически (с флагом -static), но это - прямой путь к созданию "настоящих проектов для настоящих мужчин" по нескольку метров
![]() Описания библиотек зависят от того, насколько авторы библиотек позаботились о документации. Если не позаботились - выкидывай такую либу к черту ![]() Описание SVGAlib - man 7 svgalib, там на главной страничке будут ссылки на man'ы соответствующих функций... -------------------- Kernel panic: /dev/null overflow! GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y? B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981 |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 7 Всего: 34 |
ну все это понятно и про статик линкед и все такое
но вот интересно неужели нет возможности сделать как в вындосе LoadLibrary GetProcAddress и получить адрес функции ну а маны естественно первым делм проматрел и в случае с svgalib&vgagl както там странно описано тоесть какие параметры передовать написано а вот что она возврашает (ну кроме 0 или -1) както туманно так описано -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
NightGoblin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1021 Регистрация: 24.11.2002 Где: 127.0.0.1 Репутация: 1 Всего: 11 |
Хм... просвети-ка, что это за LoadLibrary и GetProcAddress
![]() -------------------- Kernel panic: /dev/null overflow! GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y? B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981 |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 7 Всего: 34 |
ты это серезно или издеваешся?
![]() -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
NightGoblin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1021 Регистрация: 24.11.2002 Где: 127.0.0.1 Репутация: 1 Всего: 11 |
oleg1973
Блин, откуда я знаю че там в WinAPI за функции... Я под винду не пишу и вообще у меня ее нет... Это сообщение отредактировал(а) NightGoblin - 12.9.2003, 03:28 -------------------- Kernel panic: /dev/null overflow! GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y? B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981 |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 7 Всего: 34 |
ну допустим использую я функцию ААА из либы ВВВ так если указать ее как extern то после компиляции в секции импорта мы ее и увидим вместе с именем либы
ну а если вдруг по какимто причинам я не хачу так делать то использую LoadLibrary и GetProcAddress зная имя либы мы ее грузим LoadLibrary и зная имя функ получим ее GetProcAddress ну и все можем потом ее использовать -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 7 Всего: 34 |
NightGoblin
вот ты мне лучше скажи есть ли какойнить хароший дебугер для отладки ![]() а то все такая шнягя попадается символьная дрянь -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
NightGoblin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1021 Регистрация: 24.11.2002 Где: 127.0.0.1 Репутация: 1 Всего: 11 |
oleg1973
Понятно, короче... Черт, я с таким пока не сталкивался... Вообще есть .so (разделяемый объектник) - их как-то подгружать можно, причем, без рекомпиляции программы (Qt же как-то делает!), как - я точно не знаю. Надо бы поразбираться с ld-linux.so*. А дебаггер есть хотя бы тот же gdb - он хоть и неудобный в каком-то плане, но зато к нему фронт-енды есть... Например, в Cooledit'е я запускал сишную прогу с построчной отладкой - ниче, вроде работает ![]() ![]() ![]() -------------------- Kernel panic: /dev/null overflow! GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y? B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981 |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 7 Всего: 34 |
ну gdb я знаю
однако символьная дрянь это ![]() нашел кароче я несколько kernel level дебагеров претендуюших на звание softice для линюх (покране мере написано так) private ice icebox ElectricFence самое смешное нимогу скомпилить ни один ![]() попробуй если не трудно может у тебя получится а насчет подгрузки либ если кернел модуле написать и в него напихать того че нада? -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
NightGoblin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1021 Регистрация: 24.11.2002 Где: 127.0.0.1 Репутация: 1 Всего: 11 |
oleg1973,
ну кернел модуль это немножко не то вообще... это дрова так делаются... прикольно то, что работают они на уровне ядра системы, а воткнуть и выкинуть их можно в любой момент командами insmod/rmmod. См. modprobe(8). А с дебаггерами - как-нибудь попробую. -------------------- Kernel panic: /dev/null overflow! GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y? B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |