"G. Adam Stanislav" wrote: > > On Mon, Dec 04, 2000 at 12:56:51PM +1000, Stephen McKay wrote: > >Using pipes for temporary storage is still a crazy idea. Pipes can be > >smaller than 8K, depending on the flavour of Unix. > > It was just a thought, and it did not work. :) Other flavors of Unix > are not too important in this case: I'm writing a FreeBSD assembly > language tutorial. Though I do discuss portability issues in it. > I'm writing the tutorial, not because I'm the expert (I am, on assembly > language, but not on Unix system calls--yet), but because, in my > experience, it is the best way to learn. > > > Use malloc() instead. > > Unfortunately, that only works in C. :) You are, of course, wrong here. You can (and should) link your assembly programs with the C library -- half the power of UNIX is in the libraries. You can call all of the library functions just fine, as long as you under- stand the calling conventions. > I tried to figure out how to allocate memory, but, so far, was completely > unsuccessful. I studied the source for the C malloc, but did not understand > any of it. It uses something called mmap. I read the man page for mmap, > and was totally frustrated. It talks about mapping files into memory, > but I am not looking for files. It talks about passing an address to the > function. I don't get it... What address? I want it to allocate memory > for me and tell me its address. How am I supposed to know what address > is available??? If you pass it NULL as the address, mmap will select an address for you. If you just want to allocate some memory, mmap /dev/null MAP_PRIVATE. You need to read the man pages and the malloc code more carefully. -- "Where am I, and what am I doing in this handbasket?" Wes Peters Softweyr LLC [EMAIL PROTECTED] http://softweyr.com/ To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message