ProtectedMode на C++ - слабо?
Посоветуйте, как использовать компиляторы C++ для программирования PM?
На asm'e все это очень просто, а на ЯВУ - проблемы (использую BC 5.2). Проблемы с сегментами - use16 и use32 и выравниванием таблиц GDT&IDT.
Пока работаю так:
Source.cpp-> BC 5.2-> Source.asm-> HandWork-> TASM-> Source.obj-> TLINK -> Source.exe
Получается... хм-м... скорее НЕ получается.
Жду советов.
А зачем так дико извращаться? Чем ассемблер хуже для программирования в PM? Может еще попробовать на Basic'e писать:))))))))))))))))))))))))))))))))))
Серьезную вещь без ООП красиво не написать - это аксиома нашего времени.
А может достать исходники какого-нибудь сишного компилятора и переписать его под себя? Это конечно непростой выход, мне он просто в голову первым пришел.
Быстро написал, теперь медленно работает. Такой уж у меня был компилятор. Но я думаю, что это не выход.
Mike, а ты не мог бы сказать, где можно достать исходники какого-нить компилятора, я как-то искал, но так и не нашел. Был бы очень рад, если пришлешь на мыло (если они не большие).
Ну ты сам посуди, когда писались всякие там винды и линухи, то одной из первых программ, написанных для них были компиляторы. Так что если писать серьезную оську, ну хотя бы чтоб там какие-нить проги запускались, то без компилятора будет очень сложно. Ессно можно будет и в асме писать, но гемор страшный.
И зачем вообще извращаться с PM, если конечно не писать ОС в весовой категории Windows. Для всех остальных нужд достаточен нереальный режим, с некоторыми заносами в PM
А я тогда не понимаю, зачем вообще придумали защищенный режим? Жили бы все в реальном и все было бы хорошо с одним метром памяти. Млин, в защищенном режиме во сто крат удобнее работать нежели в реальном или нереальном. И если писать ось, то не для того, чтобы составить конкуренцию Мелкософту, все равно не получится, а стоит для того, чтобы самому себе доказать, что ты крутой программер и можешь что-то толковое написать, а не сидеть в паскале и арканоид делать. Что касается DPMI, то я считаю это извращением 20-го века. В новый век с новыми идеями! ЗАЩИЩЕННЫЙ РЕЖИМ РУЛИТ!!!
А я тогда не понимаю, зачем вообще придумали защищенный режим? Жили бы все в реальном и все было бы хорошо с одним метром памяти. Млин, в защищенном режиме во сто крат удобнее работать нежели в реальном или нереальном. И если писать ось, то не для того, чтобы составить конкуренцию Мелкософту, все равно не получится, а стоит для того, чтобы самому себе доказать, что ты крутой программер и можешь что-то толковое написать, а не сидеть в паскале и арканоид делать. Что касается DPMI, то я считаю это извращением 20-го века. В новый век с новыми идеями! ЗАЩИЩЕННЫЙ РЕЖИМ РУЛИТ!!!
Я решил свою проблему (а основным препятствием для меня было то, что BC++ генерит код в 16-битных сегментах).
Благодаря хорошему tutorial Алексея Фрунзе я добился чего хотел. Только он использует смесь C&Asm, а я С++ со вставками.
Что у меня получилось, лежит на
http//www.sergo.pisem.net/os/source-00-25.zip
P.S. mike, свой компилятор - это круто. Я тоже на 3-м курсе писал, но он был очень простой (зато с фирменной IDE!). Если народу интересно, мог бы поделиться.
Цитата:
компилятор - это круто. Я тоже на 3-м курсе писал, но он был очень простой (зато с фирменной IDE!). Если народу интересно, мог бы поделиться.
Интересно, поделись
http//home.novgorod.ru/lab/upload.php3
SerGo !!! Ядро оси должно выть написано на асме!!! Это смешно - переключение задачь с распределением процессорного времени посредствам ООП(ЯВУ).... Производительность проца упадёт как минимум в 2 раза из-за бесполезности кеша(кеш мис)...Ты ещё драйвера на винь на Си напиши...и дрова будут... винт всю мощь свою не выдаст...или клава... и тд и тп... Асма-вот это рулез... А остальное гуи (*уи) можна и на Бейсике