L80 (Development MSX Fora)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!           
            
English Nederlands Español Português Russian         
 Nieuws
   Voorpagina
  Nieuws archief
  Nieuws onderwerpen

 Informatie
   MSX Fora
  Artikelen
  Recensies
  Beursverslagen
  Fotoreportages
  Beurzen en meetings
  Enquêtes
  Links
  Zoek

 Software
   Downloads
  Webshop

 MRC
   Wie we zijn
  Kom bij ons team
  Doneren
  Policies
  Contact met het MRC
  Link naar Ons
  Statistieken

 Zoek
 
  

  

 Login
 

Gebruikersnaam

Wachtwoord




Ben je nog niet lid? Klik hier en word MSX vriend!


 Statistieken
 

Er zijn 98 gasten en 2 MSX vrienden online

Je bent een anonieme bezoeker.
 

MSX Fora


MSX Fora

Development - L80

Ga naar pagina ( 1 | 2 | 3 Volgende pagina )
Schrijver

L80

MicroTech
msx lover
Berichten: 109
Geplaatst: 16 Juli 2004, 16:39   
Hi Msx users!
I am used to compile my programs with Ascii MSX C v 1.2.
My actual project consists of several files which must all be linked together.
MSXDOS limits the number of characters on the command line to 128 chars (or similar number).
The length of the names of the files to be linked is becoming longer than that limit (I already use very short file names).

I could link files typing names by hand but this is not very "nice".
Is there a way to avoid this problem? (possibly avoiding the generation of a separate library)

Thanks in advance
ricbit
msx lover
Berichten: 116
Geplaatst: 17 Juli 2004, 17:49   
I never used L80 like that, but it does have an interactive mode where you can type the commands. I guess (and this is really a guess, never tried), that you can write a commands.txt file with the L80 commands and then use redirection on DOS2 to make L80 process it:
L80 < COMMANDS.TXT

flyguille
msx master
Berichten: 1183
Geplaatst: 17 Juli 2004, 18:23   
but that only works in MSX-DOS2 and i think 128 is the limit per line anyway

you can do the following

COPY src1.asm+src2.asm srcMIX.asm

The
L80 srcMIX.asm


you can put several copy lines in order to mix some source files, and then to use less filenames in the L80 line... all mounted in a BAT file ofcourse.

or just check if in L80 you can do as a MAKE file config.



HansO
msx addict
Berichten: 375
Geplaatst: 18 Juli 2004, 12:03   
L80 is a linker. So feeding it asm files will not work.
flyguille
msx master
Berichten: 1183
Geplaatst: 18 Juli 2004, 16:39   
ah!, well, so, take my previous post and imagine the same one with OBJ extensions (iirc)
pitpan
msx master
Berichten: 1368
Geplaatst: 18 Juli 2004, 20:42   
And what happen with the OBJ headers, Fly?
flyguille
msx master
Berichten: 1183
Geplaatst: 18 Juli 2004, 21:09   
Quote:

And what happen with the OBJ headers, Fly?



ups....!!!

you are right pitpan.. the file mix don't work for objects files.


ro
msx guru
Berichten: 2320
Geplaatst: 19 Juli 2004, 07:46   
in otherwords: Don't use them linking commands. You could rewrite your programs and use some other system to CALL commands in other modules. Linking files will also increase in assembly (and TESTING!) time.

I've always loved how WBASS2 worked 'cuz of the complete dev.env. Just type your code, ASM and Test in one go!

(if your command line will exceed 128 chars while trying to link files; How many file do you already use then?!? too much maybe?!?)
UnregisteredGeplaatst: 19 Juli 2004, 09:39   
Quote:

Linking files will also increase in assembly (and TESTING!) time.



Nonsense. The whole idea of linking object files is to *decrease* assembly/compilation time!
If you alter just 1 line in one out of 10 source files, you only need to re-assemble that one source file and then link the 10 resulting object files et voila. If you've got that same project in only 1 file, you need to reassemble (and implicitely link) the whole shebang.

OTOH, when doing cross-assembly, assembly/compiling speed is less of an issue, but still...

Quote:

I've always loved how WBASS2 worked 'cuz of the complete dev.env. Just type your code, ASM and Test in one go!



Now that's fun for relatively small programs, but as soon as the programming project gets bigger, you *want* to split up your source code into modules which can be compiled & linked separately.

Now, for the original question: IIRC, there was some program (AR.COM? LIBR.COM) which can pack a number of object files into a library which can then be linked. So, instead of

link a.obj b obj c.obj ...

you'd get

libr abc.lib a.obj b.obj c.obj
link abc.lib ...

HTH
MicroTech
msx lover
Berichten: 109
Geplaatst: 19 Juli 2004, 10:39   
Quote:

L80 < COMMANDS.TXT



GREAT! It works: simple and efficent, thank you very much!
(Apparently no limits on the length of the file list)

I've realised that I've a "mix version" in my SDK:
- CG, CF, FPC & MX are v.1.20 so DOS2 is required
- M80 & L80 are v.1.0 so DOS2 is not necessary

I already use DOS2 because of compiler requirements so
< > and | can be used to redirect I/O on the command line.


Quote:

You could rewrite your programs and use some other system to CALL commands in other modules.


!!! this will take lot of time... sigh


Quote:

Linking files will also increase in assembly (and TESTING!) time.


I use RuMSX at full speed to compile and link so "time is relative"
TESTING is done with VisualC... all C code is written and debugged on PC
so problems are "limited" to porting to MSX.


Quote:

I've always loved how WBASS2 worked 'cuz of the complete dev.env. Just type your code, ASM and Test in one go!


Where can I find WBASS2?
Can I use my C source/REL files?


Quote:

(if your command line will exceed 128 chars while trying to link files; How many file do you already use then?!? too much maybe?!?)


18 C files + 1 ASM + various C support/runtime files
Maybe they are too much but C compiler itself has limitations so it is
necessary to split functions and to distribute them on many files...

Thanks
MicroTech

IC
msx professional
Berichten: 538
Geplaatst: 19 Juli 2004, 11:04   
wbass2 is basicly an assembler.. No C support there (iirc)
ro
msx guru
Berichten: 2320
Geplaatst: 19 Juli 2004, 11:06   
good to see the l80 command trick worked for ya!
Still having 18 plus files for a project might be a bit overdun, don't ya think?

check google for "msx wbass2" and end up at the programmer's homepage to download the whole darn thing.

----
@ Aurora (borealis??);
No, you should read a bit better (okay, i was hinting instead of actually telling).. i DO program in split files, and yeah I write BIG projects.. not your hantsypantsy little programs (know your history, check www.thefuzz.nl) Wbass is not great in handeling big sources, so spliting up is the only option (actually it's better that way!! it pushes the programmer to do module asm!)

Linking files DOES take more time than actually ASM the source and immediatly testing it (and that's the real strength of Wbass2) I do NOT use rel.linking (although wb2 does support that, to answer your question Microtech) Each and every module (file) stands alone and the command entries (e.g. jumpers at the start of the module or a command driven function-table).. .still sometimes I wish WB2 had a bit more source space to work in (only about 18k).

Well, we're not here to discuss which assembler is beter etc (hey, wasn't that a MRC poll just recently?!?!)

Well, Micro hope you succeed on your "little" (only 18 source files?!?) project.
cheers.ro
ro
msx guru
Berichten: 2320
Geplaatst: 19 Juli 2004, 11:07   
Quote:

wbass2 is basicly an assembler.. No C support there (iirc)



true. It's all ASM here (assembler, dis-assembler, monitor and text editor)
UnregisteredGeplaatst: 19 Juli 2004, 11:18   
Quote:

No, you should read a bit better (okay, i was hinting instead of actually telling).. i DO program in split files, and yeah I write BIG projects..



Erh... even when re-reading your first post, I can't even find a *hint* in that direction.
Must be my bad

Quote:

Each and every module (file) stands alone and the command entries (e.g. jumpers at the start of the module or a command driven function-table)..



That's an option, too. Still, I just like the idea of compiling several C and ASM files into OBJ files and then linking them together to 1 executable. Matter of personal preference, I guess.
ro
msx guru
Berichten: 2320
Geplaatst: 19 Juli 2004, 11:28   
true, we all have our prefs. oh well, I've been told so many times before I suck just b'cuz I still use (an enhanched version) of WBass2.

and indeed, my hint was not that obvious. but ok. nevermind.
 
Ga naar pagina ( 1 | 2 | 3 Volgende pagina )
 







(c) 1994 - 2008 Stichting MSX Resource Center. MSX is een trademark van MSX Licensing Corporation.