cross-compiler question
cross-compiler question
is it possible to use the visual c++ compiler as a cross compiler?
One Tequila, Two Tequila, Three Tequila, Floor!
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: cross-compiler question
Yes you can, but it's not recommended.
If it's only the IDE you want, you can use gcc with visual studio.
If it's only the IDE you want, you can use gcc with visual studio.
Re: cross-compiler question
If you really want to go that way, you can take a look at Mike's tutorial, here.
But I wouldn't recommend it either, I'm using the IDE with a GCC cross-compiler.
EDIT: There's also a wiki article.
But I wouldn't recommend it either, I'm using the IDE with a GCC cross-compiler.
EDIT: There's also a wiki article.
Re: cross-compiler question
Hello,
MSVC++ is fine to use, however there are two things to be aware of: i) If you are new to OS development, GCC is most commonly used and thus you may be able to get more help with it; and ii) Its not possible to port MSVC++ to your OS for a self-hosting environment. You will either need to rebuild your OS in an open-source compiler, or create your own compiler.
If you design your OS with portability in mind (ii) might be easy to port your OS. However (i) will still apply.
MSVC++ is fine to use, however there are two things to be aware of: i) If you are new to OS development, GCC is most commonly used and thus you may be able to get more help with it; and ii) Its not possible to port MSVC++ to your OS for a self-hosting environment. You will either need to rebuild your OS in an open-source compiler, or create your own compiler.
If you design your OS with portability in mind (ii) might be easy to port your OS. However (i) will still apply.
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}