Поиск:

Ответ в темуСоздание новой темы Создание опроса
> asm+linux, никто не балуется? 
:(
    Опции темы
oleg1973
Дата 8.9.2003, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



собственно субж smile.gif


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
NightGoblin
Дата 9.9.2003, 03:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1021
Регистрация: 24.11.2002
Где: 127.0.0.1

Репутация: 1
Всего: 11



Ну я время от времени развлекаюсь smile.gif а что интересует-то конкретно? smile.gif


--------------------
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
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 9.9.2003, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM MAIL WWW ICQ   Вверх
NightGoblin
Дата 10.9.2003, 05:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1021
Регистрация: 24.11.2002
Где: 127.0.0.1

Репутация: 1
Всего: 11



Функции вызывать проще всего - call function wink.gif Просто при линковке надо ld сообщить, что ты собираешься использовать такую-то библиотеку (ld main.o /usr/lib/libc.a -o main).

А в gcc - именно так, как ты написал smile.gif

Это сообщение отредактировал(а) 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
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 10.9.2003, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



все разобрался,линкуется smile.gif хело ворд сделал
ну а к примеру загрузку либы как сделат?
теперь гдеб найти описание разных либ?
а к примеру таже svgalib в man както не полно освещено

Это сообщение отредактировал(а) oleg1973 - 10.9.2003, 12:04


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
NightGoblin
Дата 10.9.2003, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1021
Регистрация: 24.11.2002
Где: 127.0.0.1

Репутация: 1
Всего: 11



Дык а куда загрузку-то... Линкуешь прогу с ней - и все... Если уж очень хоцца - можешь слинковать статически (с флагом -static), но это - прямой путь к созданию "настоящих проектов для настоящих мужчин" по нескольку метров smile.gif

Описания библиотек зависят от того, насколько авторы библиотек позаботились о документации. Если не позаботились - выкидывай такую либу к черту smile.gif

Описание 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
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 11.9.2003, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



ну все это понятно и про статик линкед и все такое
но вот интересно неужели нет возможности сделать как в вындосе
LoadLibrary
GetProcAddress
и получить адрес функции
ну а маны естественно первым делм проматрел
и в случае с svgalib&vgagl както там странно описано
тоесть какие параметры передовать написано
а вот что она возврашает (ну кроме 0 или -1) както туманно так описано


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
NightGoblin
Дата 12.9.2003, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1021
Регистрация: 24.11.2002
Где: 127.0.0.1

Репутация: 1
Всего: 11



Хм... просвети-ка, что это за LoadLibrary и GetProcAddress smile.gif


--------------------
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
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 12.9.2003, 01:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



ты это серезно или издеваешся?smile.gif


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
NightGoblin
Дата 12.9.2003, 03:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 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
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 12.9.2003, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



ну допустим использую я функцию ААА из либы ВВВ так если указать ее как extern то после компиляции в секции импорта мы ее и увидим вместе с именем либы
ну а если вдруг по какимто причинам я не хачу так делать то использую
LoadLibrary и GetProcAddress
зная имя либы мы ее грузим LoadLibrary
и зная имя функ получим ее GetProcAddress
ну и все можем потом ее использовать


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 13.9.2003, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



NightGoblin
вот ты мне лучше скажи есть ли какойнить хароший дебугер для отладки smile.gif
а то все такая шнягя попадается
символьная дрянь



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
NightGoblin
Дата 14.9.2003, 04:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1021
Регистрация: 24.11.2002
Где: 127.0.0.1

Репутация: 1
Всего: 11



oleg1973
Понятно, короче... Черт, я с таким пока не сталкивался... Вообще есть .so (разделяемый объектник) - их как-то подгружать можно, причем, без рекомпиляции программы (Qt же как-то делает!), как - я точно не знаю. Надо бы поразбираться с ld-linux.so*.

А дебаггер есть хотя бы тот же gdb - он хоть и неудобный в каком-то плане, но зато к нему фронт-енды есть... Например, в Cooledit'е я запускал сишную прогу с построчной отладкой - ниче, вроде работает smile.gif Что касается асма - мне пока что не приходилось писать нечто настолько сложное, чтобы понадобился дебаггер - лично мне проще повставлять ud2, отладочных сообщений и т. п. smile.gif Хотя я тут полазил - нашел парочку: Assembly Language Debugger и The DUDE. Вообще - есть хороший сайтик: LinuxAssembly.ORG smile.gif Оттуда имеются и ссылки на те два, плюс еще несколько...


--------------------
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
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 14.9.2003, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



ну gdb я знаю
однако символьная дрянь это smile.gif
нашел кароче я несколько kernel level дебагеров претендуюших на звание softice для линюх
(покране мере написано так)
private ice
icebox
ElectricFence
самое смешное нимогу скомпилить ни один smile.gif)))))))))))
попробуй если не трудно может у тебя получится
а насчет подгрузки либ
если кернел модуле написать и в него напихать того че нада?


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
NightGoblin
Дата 16.9.2003, 00:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 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
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0975 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.