Anyway I was wondering if you have Vista or something that could open docx.
I only have windows Xp and linux machines running.And I was wondering if it isn't to much trouble if
you could convert the docx into a doc file that would run on Office 2000 , 2003 ,...etc.
I know you mentioned that you had vista or something along those lines.
Code: Select all
Microsoft Portable Executable and Common Object File Format Specification
I believe this is the most uptodate version of the spec's for both 32 and 64 bit on windows machines.
Looking to see if their is any change between the 64 and 32 bit. (must be backwards compatible I would think)
Anyway about what you said about using the stack for all the varibles. That was cool thinking.
But is their any limit on the stack size that the OS allows you to reserve?
The only thing is that if you have alot of string data or varibles you are pushing the values of this stuff so it is going to take up a **** load of space. (i.e if you wanted to say Hello I am using the stack ! you would have to push each letter one by one on the stack) You cann't use references because they are not garrented to be fixed address.
This could get messy but I guess you could set a '\0' to delimit the different string and variables. Then
have a pointer to the begining of all your variables. Either way it is going to take up alot of stack space.
Cool Idea though!
I am curious since we went in depth with the PE/Coff file format for windows.
If the .obj files are in the same format as the PE .exe file maybe the only difference is that the obj files contain the symbol table or something.
Does the linker take the first obj file in the list and combined the other obj like...
obj1 .text obj2 .text obj3 .text and add to the relocation table, entries that obj .text depend on ,...etc etc down the list. I guess it has to check first for unresolved symbols in the other files?
unresolved symbols must be given a certain value that delimits them from resolved symbols?
So it basically just copies the text sections sequentially making sure to modify the relocation table entires for the objects it moved ( normal obj files are compiled so that the are at org 0 ). And Resolve external symbols probably stored in the symbol table (depending on where it copied the variable or function would determine it RVA to call the function). I would say that's all the linker does as well as set the entry point and set some of the header fields stuff ...etc etc
I figured out what the line number field was for in the PE Header. It was for debuging sometimes people want to strip debuging info into it's own file like stab or DWARF. But Line Number is just used for debuging as well.
Either way I am wondering since .obj are roff (relocatable object file format) OMF
I am wondering if RDOFF is the same thing as COFF/PE in windows just named differently to distinigush. Between the input obj's to the linker and the output PE .exe from the linker. I think both linker input is the the same as linker output when we are talking about PE/Coff win32 file format.