OSDev.org

The Place to Start for Operating System Developers
It is currently Sun Apr 28, 2024 2:39 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 14 posts ] 

Should there be coverage of IDEs/Editors in the OSDev Wiki?
Yes 27%  27%  [ 9 ]
No 48%  48%  [ 16 ]
Couldn't care less 24%  24%  [ 8 ]
Total votes : 33
Author Message
 Post subject: Coverage of IDEs
PostPosted: Sun Apr 19, 2009 7:32 pm 
Offline
Member
Member
User avatar

Joined: Thu Dec 21, 2006 3:03 am
Posts: 1029
Location: Hobart, Australia
This has annoyed me for a while now. I personally don't think IDEs are OSDev-related enough to warrant being in the OSDev wiki. It's about OSDev, not programming in general. Until I deleted them way back, there were articles on Emacs and Vim as well. I mean, come on!

The only reason I can see for keeping these articles is a small amount of content related mostly to setting them up for OSDev. I think this should be packaged onto a single page, named IDEs or something similar.

_________________
My Personal Blog | My Software Company - Loop Foundry | My Github Page


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Mon Apr 20, 2009 12:54 am 
Offline
Member
Member

Joined: Mon Nov 24, 2008 9:13 am
Posts: 93
I voted "No". There was no option like "Just setting IDEs up for OSDev should be covered". If that option would have been there I'd have choosen it.

Reason: I personally find it the most annoying part of IDEs to get it ready for work, especially for OS development. Sometimes I felt like "Okay, there are thousand switches, this will take me forever to setup; um, I'll use a simple text editor." If someone has a good insight how to setup an IDE for OS dev (and related, like using the standard GNU toolchain that isn't supported out of the box, or like configuring make as a build target), I think it would definitely be worth sharing it in the wiki.

--TS


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Mon Apr 20, 2009 1:48 am 
Offline
Member
Member
User avatar

Joined: Thu Aug 11, 2005 11:00 pm
Posts: 1110
Location: Tartu, Estonia
Well, we do have an article on creating a cross compiler - so if it's not just a list of IDEs, but rather some information on how to use different IDEs for kernel compiling / debugging, I would vote in favour of it. So, I share Hyperdrive's opinion.

_________________
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Mon Apr 20, 2009 2:20 am 
Offline
Member
Member

Joined: Sun Jan 14, 2007 9:15 pm
Posts: 2566
Location: Sydney, Australia (I come from a land down under!)
No - prerequisite knowledge is previous coding experience, and by the time you take on an OS you should already have an IDE you know and love.

_________________
Pedigree | GitHub | Twitter | LinkedIn


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Mon Apr 20, 2009 2:51 am 
Offline
Member
Member
User avatar

Joined: Wed Oct 18, 2006 3:45 am
Posts: 9301
Location: On the balcony, where I can actually keep 1½m distance
Yes and no. Yes you should know your IDE. No, OS development uses a certain set of features that you wouldn't normally have used. I mean, even the best of programmers might never have needed to change the compilation settings in visual studio or dev-c++ to the extent needed for OS development. (setting up msvc for osdev is non-trivial, setting up your crosscompiler to work outside of cygwin is also non-trivial)

Therefore, yes, the non-stub articles on IDEs should be kept.

Editors and stub-only pages however can be exited IMO. (that basically leaves the VS and Turbo C pages)

_________________
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Mon Apr 20, 2009 3:20 am 
Offline
Member
Member
User avatar

Joined: Thu Dec 21, 2006 3:03 am
Posts: 1029
Location: Hobart, Australia
Combuster, again, sums up what I wanted to say nicely.

_________________
My Personal Blog | My Software Company - Loop Foundry | My Github Page


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Mon Apr 20, 2009 5:53 am 
Offline
Member
Member

Joined: Fri Jul 11, 2008 5:15 am
Posts: 342
Location: Hungary
Combuster wrote:
...setting up msvc for osdev is non-trivial...


I beg to differ. Setting up any recent version of VisualStudio is fairly straightforward. Disable any msvcrt support (buffer check: no, basic runtime checks: default, runtime library: multithreaded DLL (no, you wont actually need it)), set some more options as you like (I use these: enable function-level linking: yes, enable string pooling: yes, calling convention: stdcall, use precompiled header: yes, treat wchar_t as builtin: yes, ignore standard include path: yes, detect 64-bit issues: yes, warning level: max, output directory: x64\$(ConfigurationName) or x86\$(ConfigurationName); linker: references:eliminate unreferenced data, enable comdat folding, target machine: x64 or x86 ) and you are ready to go.

Actually, there are two things needed for OS development: first is to disallow any linking to the msvcrt library, second is to either reuse the entry point expected by the linker (extern "C" int _DllMainCRTStartup(void* hModule, unsigned int ulReason, void* lpReserved) ), or instruct the linker to use a different entry point. However, I still voted 'No' as I think figuring out these options should be trivial to anyone seriously thinking about osdev.


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Mon Apr 20, 2009 10:48 pm 
Offline
Member
Member
User avatar

Joined: Sun Feb 18, 2007 7:28 pm
Posts: 1564
Im going to have to agree with ru2aqare here. Nothing is "hard" about setting up any environment if you have experience with it and already know what to do. This may be why myself and ru2aqare (and others) find setting up msvc to work in kernel land easy. It all comes down to knowing your toolchain and environment well.

_________________
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Tue Apr 21, 2009 5:27 pm 
Offline
Member
Member
User avatar

Joined: Wed Feb 07, 2007 1:45 pm
Posts: 1401
Location: Eugene, OR, US
Hmmmm. I think I'm going to agree with combuster. I've been working with MSVC for over 10 years, and I have never messed around with some of the options that ru2aqare suggests. I wouldn't know to do some of that. It would take me several frustrating days of messing around to get it to work -- that I wouldn't want to waste that way. And we get sooooooo many newbies doing this stuff that I'd rather have them find some basic instruction on the wiki, rather than have them ask questions about it on the forums.

(But isn't using MSVC for kernel dev against the licence agreement anyway? :wink: )


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Tue Apr 21, 2009 5:55 pm 
Offline
Member
Member

Joined: Fri Jul 11, 2008 5:15 am
Posts: 342
Location: Hungary
bewing wrote:
Hmmmm. I think I'm going to agree with combuster. I've been working with MSVC for over 10 years, and I have never messed around with some of the options that ru2aqare suggests. I wouldn't know to do some of that. It would take me several frustrating days of messing around to get it to work -- that I wouldn't want to waste that way. And we get sooooooo many newbies doing this stuff that I'd rather have them find some basic instruction on the wiki, rather than have them ask questions about it on the forums.


It took me only a couple of hours to work out the options required. This was way back when I was using VS2oo3. Since then, I have been copying that 'template' project file (with all the options set to the 'good' values), sometimes refining it. I don't use these options for osdev only - when I want a pure Win32 application, that doesn't contain any msvcrt fluff, these options are what I need. If anyone wants to wikify the options, go ahead...

bewing wrote:
(But isn't using MSVC for kernel dev against the licence agreement anyway? :wink: )


I have no idea. Some say that the 'masm' assembler (that comes with VS) can't be used for osdev, citing the license of the 'masm32' package (which also happens to contain masm, but is not official, and does not come with the VS setup).

And even if that would be the case, you can always configure VS to use a different compiler - say ICC or GCC. Although I have never tried that, so I can't say how difficult it gets.


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Wed Apr 22, 2009 8:24 am 
Offline
Member
Member
User avatar

Joined: Sun Feb 18, 2007 7:28 pm
Posts: 1564
Quote:
(But isn't using MSVC for kernel dev against the licence agreement anyway? :wink: )

No, it is fine to use. The inline assembler is not masm32. And, if you need to use an external assembler, you can configure it to use another assembler instead of masm32. (I personally use nasm)

I don't personally know why a "template" should be required...the options needed in MSVC for kernel land are not that hard...and only takes a few minutes..

Then again, it still all comes down to knowing your environment well...Those that are used to using MSVC and know it well may find it easy to set up. Similarly, those who are more comfortable with GCC and LD may find GCC and LD easier to set up then MSVC and other environments.

_________________
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Wed Apr 22, 2009 10:23 am 
Offline
Member
Member

Joined: Fri Jul 11, 2008 5:15 am
Posts: 342
Location: Hungary
neon wrote:
I don't personally know why a "template" should be required...the options needed in MSVC for kernel land are not that hard...and only takes a few minutes..


Sometimes I'm lazy, and I can't be bothered to change the options. Copying a 'known good' project file only takes a second...


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Thu May 07, 2009 7:19 pm 
Offline
Member
Member
User avatar

Joined: Tue Aug 12, 2008 4:04 pm
Posts: 173
plus one to combuster's ideas and bewing's insights.

I've just sat staring at Xcode 3.1 for the past 4 hours (now roughly 2am right now), and having never used it for anything but Mac OS X and iPhone development, a lot of the things i see have never been clicked. i had the idea a few months back to make an Xcode project for my OS but i could never get it to work, mainly because of the abundance of templates.

so far, I've just been playing with the 2 usable templates, and have managed to get a makefile based project off the ground. it was alot easier than it looked, but it is quite difficult if you just wanna get it setup without too much fiddling. If you want to add Xcode to the list (I know of a few devers around that may like to give it a look), i would be more than happy to write up a How-to for it.

I only have 1 lesson in college tomorrow(only 50 minutes of the day will disappear), so i will be researching(well... poking around) into a more reasonable build mechanism in Xcode (automatic build sequence, to get rid of having to update makefile all the time.)

cheers,
James.

P.S if anyone wants to know how i have set-up my Xcode project, just pm me and I'll be happy to divulge my... "expertise"... :lol:

P.P.S I'm planning on suggesting Xcode for addition to the IDE category, but only upon getting a more complete guide to setting up Xcode for OSdev. makefile based project is sufficient (is basicly just combining editor and command line, so makefile needs manual attention) but i think an automated system is more effective.

_________________
Website


Top
 Profile  
 
 Post subject: Re: Coverage of IDEs
PostPosted: Fri May 08, 2009 2:15 am 
Offline
Member
Member
User avatar

Joined: Sun Oct 22, 2006 7:01 am
Posts: 2646
Location: Devon, UK
I know this topic's been up for a while, but seeing as it's been re-awakened anyway, I'll post my views :wink:

I generally go against the general consensus in the poll above and have voted for IDE articles to be kept. I think that the IDE is an important part of the toolchain. Someone entering osdev from applications programming may not have used many of the relevant features of their IDE.

Having said this, I think than any IDE articles should read like crib sheets for OS Dev - I'm not suggesting that they should tell you how to use an IDE from scratch.

Cheers,
Adam


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group