169 похожих чатов

У меня вопрос, если я напишу компилятор, который компилирует мой

код в .dex ту свою очередь компилируется в машинные коды для ART, то по факту приложение запуститься, а где можно читать про dex формат, как в нем все работает, нужен ли ассемблер для написание такого компилятора, или хватит и С ?

54 ответов

41 просмотр

а что ты лучше знаешь си или асм?

а ты прочел/изучил уже книгу дракона?

Я далёк от современных систем(но хочу разобраться), на мой взгляд компилятор это по сути программа которая переводит твои мнемоники в машинный код. И этот компилятор ты можешь сделать на чём угодно от ассемблера, до ручки с бумагой. На мой устаревший взгляд

Я пользовался конвертером dex2jar. Возможно у него есть спека или исходники которые поясняют как устроен декс внутри.

Чем официальная документация не угодила? https://source.android.com/docs/core/runtime/dex-format?hl=en

Evgen
Я далёк от современных систем(но хочу разобраться)...

Нет, это ассемблер. Компилятор переводит свои ЯВУ конструкции в ассемблер, либо в набор инструкций. Например: a = a + b;

123- Автор вопроса
Aiwan \ (•◡•) / _bot
а что ты лучше знаешь си или асм?

Ни то не другое, хотя где-то +- год назад питался фасм изучать, было сложно и я забросил.

123- Автор вопроса
Aiwan \ (•◡•) / _bot
а ты прочел/изучил уже книгу дракона?

Это типа алгоритмический язык российского происхождения?

123- Автор вопроса
Alex
Чем официальная документация не угодила? https://s...

Мне нужна доп инфа, я вообще не предстовляю как происходит компиляция в мш коды.

Начни с x86 архитектуры, там попроще.

123- Автор вопроса
КТ315
Начни с x86 архитектуры, там попроще.

Я за простотой не хочу гоняться, мне больше книги бы нужны, чтобы понять весь этот хаус.

123
Я за простотой не хочу гоняться, мне больше книги ...

Логика ассемблирования одинакова, тебе логику понять надо? Начни с самой простой реализации - она в x86, а потом уже изучай RISC.

123- Автор вопроса

какой срок себе ставишь до готового продукта?

123- Автор вопроса
Aiwan \ (•◡•) / _bot
какой срок себе ставишь до готового продукта?

Ну на самом деле такое сложно реализовать.

123- Автор вопроса
123
Ну на самом деле такое сложно реализовать.

там кроме компилятора реакта нужен и компилятор стилей, html структуры, и еще нужно настроить все так, чтобы можно было подключать библиотеки, тем более я все это буду делать в одиночку, так что минимум 5 месяцев.,

123
там кроме компилятора реакта нужен и компилятор ст...

2 года упорного труда, или проек будет в забытие

123- Автор вопроса
Aiwan \ (•◡•) / _bot
2 года упорного труда, или проек будет в забытие

У меня 2 года нету в кармане к сожалению, так что мне нужно спешить, скорее получиться костыль, но задача не в том чтобы без костылей писать, задача в том чтобы работало.

123- Автор вопроса
123
У меня 2 года нету в кармане к сожалению, так что ...

Если не получиться, то хотябы пойму логику написания компиляторов.

123
Мне нужна доп инфа, я вообще не предстовляю как пр...

Начните с классических учебников. Можно с того же Ахо-Ульман-Сети. Если с английским норм, то лучше с Купера

123- Автор вопроса
КТ315
Начни с x86 архитектуры, там попроще.

А любой ассемблер подойдет ? у меня винда, masm закатить ? можно ли будет на нем писать компиляторы ?, которые не просто переводят код в асм код а потом только компилят в машинные, а которые сразу из текст кода переводят в машинные ?

123
А любой ассемблер подойдет ? у меня винда, masm за...

Лучше FASM. Да, компилятор можно - сам FASM написан на FASM, что доказывает, что он осилит написание компилятора. И да, ты можешь написать компилятор, который работает без линковщика - так и может работать FASM, только у него нет высокоуровневых конструкций, а вот у UASM и FASMG можно что-то придумать, чтобы полноценный С получился, но который при этом работает без линковщика.

123
А любой ассемблер подойдет ? у меня винда, masm за...

можно даже сделать перевод голоса в машю коды. но то что будет между этими границами тебе придется это внутри компиля реализовывать.

philip kirkorov
чем 86 проще 64 ? )

Отсутствием REX-префикса.

КТ315
Отсутствием REX-префикса.

и все ? а то, что потом переучиваться на фасткалл новичку придется ? путанница ?

philip kirkorov
и все ? а то, что потом переучиваться на фасткалл ...

Причём тут соглашение о вызовах? На x86_64 можно через стек аргументы передавать и принимать.

КТ315
Причём тут соглашение о вызовах? На x86_64 можно ч...

можно как угодно с ассемблером принимать и передавать, но дефакто соглашения о вызовах разные

philip kirkorov
можно как угодно с ассемблером принимать и передав...

И что? Они всегда и везде разные, я хоть сейчас своё могу придумать.

philip kirkorov
и все ? а то, что потом переучиваться на фасткалл ...

А что там переучиваться? Rid esi rdx ecx и тд это просто принцип передачи аргументов, на который в асм проге можно плевать с высокой колокольни

Aiwan \ (•◡•) / _bot
и в чем состоит это "переучиваться"?

сегментация памяти которая давным давно никому не упала, а после на страничную адресацию придется переходить и забывать все про сегменты

123- Автор вопроса

А тебе не смущает, что там изначально вопрос был по ART и по .dex формату ?

123- Автор вопроса
123- Автор вопроса
Alexey
Прижался в угол?

Ну давай умник поясни как работает компиляция классового формата .dex.

123
Ну давай умник поясни как работает компиляция клас...

Я не знаю, но разница в том, что я не знаю какую-либо тему сижу тихо А ты не зная тему даже поверхностно уже неделю обсуждаешь как писать свой компилятор на пайтоне, да еще и заявляя, что он будет лучше асма

123- Автор вопроса

Если ты немного вверх поскролишь, то увидишь изначальный инициатор этого сообщения https://t.me/ChatAssembler/232722.

123
Если ты немного вверх поскролишь, то увидишь изнач...

Не это, ты целую неделю писал о своих планах во все чаты , я в том диалоге даже не участвовал, где я тебе книгу прислал

Административная*

там если что . Клевета, то есть распространение заведомо ложных сведений, порочащих честь и достоинство другого лица или подрывающих его репутацию

123- Автор вопроса
Alexey
Хвастун ты , вот и все

1. Чел делает вбросы, пишет от моего имени то что я не писал. 2. Не приводит адекватных аргументов, которые бы доказали что я такое писал. 3. Постоянно переходит от одной теми к другому. 4. Пишет что я хвастун. Все понятно, у меня даже желания нету тебе отвечать, то что ты пишешь опровергается за несколько секунд, ты просто хочешь любим способом выставить меня за лоха, даже врешь ради этого.

123
1. Чел делает вбросы, пишет от моего имени то что ...

+, я не видел от него ни одного ответа с хорошей критикой, всегда какие-то странные высказывания, очень косвенно относящиеся к теме разговора

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта