discuss: [ncm-nospam@cantrip.org: C++ Programming HOWTO]


Previous by date: 22 Dec 2001 22:39:17 -0000 Re: [ncm-nospam@cantrip.org: C++ Programming HOWTO], David Merrill
Next by date: 22 Dec 2001 22:39:17 -0000 Bare Metal Recovery HOWTO renamed, moved., Charles Curley
Previous in thread: 22 Dec 2001 22:39:17 -0000 Re: [ncm-nospam@cantrip.org: C++ Programming HOWTO], David Merrill
Next in thread: 22 Dec 2001 22:39:17 -0000 Re: [ncm-nospam@cantrip.org: C++ Programming HOWTO], Poet/Joshua Drake

Subject: Re: [ncm-nospam@cantrip.org: C++ Programming HOWTO]
From: Charles Curley ####@####.####
Date: 22 Dec 2001 22:39:17 -0000
Message-Id: <20011222153830.B22859@trib.com>

On Sat, Dec 22, 2001 at 12:29:49PM -0600, Bill Lee wrote:
> Is the LINUX DOCUMENTATION PROJECT even the appropriate place for a discussion
> of a programming language? Sure, installation problems. Sure, issues within the
> language that are Linux-specific. But a HOWTO on C++???? I don't think so. Good
> grief! There must be a thousand different C++ how-to books on the market, some
> very good, some rotten. Why should there be yet another here?


Not having read the HOWTO under discussion, I'll don my asbestos suit,
throw my oar in, and use it to mix my metaphors...

It seems to me that a HOWTO on Linux specific aspects of C/C++
programming would be very useful. Anyone coming into Linux from Visual
C++ is going to be very confused. Perhaps the HOWTO's objective should
be to show the reader how to edit up the source for hello.c, compile
it and execute it.

Most of it would be: where to get things, e.g. make and gcc from FSF,
etc.; how and where to unpack them; how to compile and install them;
then how to find and read the documentation (man, info, et alia); how
to compile and link a simple program. Get 'em started.

Possibly some discussion of using Emacs as an IDE is in
order. Similary for vi if you can use it as an IDE (I never have, so
don't know).

Such a HOWTO can refer to other documents, though. I would definitely
refer the reader to K&R, Harbison & Steele, maybe other books.



-- 

		-- C^2

The world's most effective anti-virus software: Linux.

Looking for fine software and/or web pages?
http://w3.trib.com/~ccurley

--> -->
 
 
<type 'exceptions.IOError'>
Python 2.5.2: /usr/bin/python
Sat Jun 29 12:59:23 2024

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /opt/ezmlm-browse-0.20/<string> in ()
 /opt/ezmlm-browse-0.20/main.py in main()
  424 
  425         if path is not None:
  426                 main_path(path)
  427         else:
  428                 main_form()
global main_form = <function main_form at 0x8546c6c>
 /opt/ezmlm-browse-0.20/main.py in main_form()
  378         except ImportError:
  379                 die(ctxt, "Invalid command")
  380         module.do(ctxt)
  381 
  382 def main():
module = <module 'commands.showmsg' from '/opt/ezmlm-browse-0.20/commands/showmsg.pyc'>, module.do = <function do at 0x854e87c>, global ctxt = {'cmd': 'showmsg', 'threadidx': 9, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}
 /opt/ezmlm-browse-0.20/commands/showmsg.py in do(ctxt={'cmd': 'showmsg', 'threadidx': 9, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'})
   18         write(html('msg-pager') % ctxt)
   19         write('<hr>')
   20         sub_showmsg(ctxt, ctxt[MSGNUM])
   21         write('<hr>')
   22         write(html('msg-pager') % ctxt)
global sub_showmsg = <function sub_showmsg at 0x85461ec>, ctxt = {'cmd': 'showmsg', 'threadidx': 9, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, global MSGNUM = 'msgnum'
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showmsg(ctxt={'cmd': 'showmsg', 'threadidx': 9, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msgnum=1959)
  229         format_timestamp(ctxt, ctxt)
  230         write(html('msg-header') % ctxt)
  231         rec_showpart(ctxt, msg, 0)
  232         write(html('msg-footer') % ctxt)
  233         ctxt.pop()
global rec_showpart = <function rec_showpart at 0x85461b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 9, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x85a4d8c>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 9, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x85a4d8c>, partnum=1)
  205                 else:
  206                         for p in part.get_payload():
  207                                 partnum = rec_showpart(ctxt, p, partnum+1)
  208         else:
  209                 write(html('msg-sep') % ctxt)
partnum = 1, global rec_showpart = <function rec_showpart at 0x85461b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 9, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x85a4ecc>
 /opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 9, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x85a4ecc>, partnum=2)
  208         else:
  209                 write(html('msg-sep') % ctxt)
  210                 sub_showpart(ctxt, part)
  211         return partnum
  212 
global sub_showpart = <function sub_showpart at 0x8546144>, ctxt = {'cmd': 'showmsg', 'threadidx': 9, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x85a4ecc>
 /opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 9, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x85a4ecc>)
  164         type = ctxt[TYPE] = part.get_content_type()
  165         ctxt[FILENAME] = part.get_filename()
  166         template = html('msg-' + type.replace('/', '-'))
  167         if not template:
  168                 template = html('msg-' + type[:type.find('/')])
global template = <function template at 0x853ee9c>, global html = <function html at 0x853eed4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x85a9db0>
 /opt/ezmlm-browse-0.20/globalfns.py in html(name='msg-application-pgp-signature')
   40 
   41 def html(name):
   42         return template(name + '.html')
   43 
   44 def xml(name):
global template = <function template at 0x853ee9c>, name = 'msg-application-pgp-signature'
 /opt/ezmlm-browse-0.20/globalfns.py in template(filename='msg-application-pgp-signature.html')
   31         except IOError:
   32                 if not _template_zipfile:
   33                         _template_zipfile = zipfile.ZipFile(sys.argv[0])
   34                 try:
   35                         f = _template_zipfile.open(n).read()
global _template_zipfile = None, global zipfile = <module 'zipfile' from '/usr/lib/python2.5/zipfile.pyc'>, zipfile.ZipFile = <class zipfile.ZipFile at 0x84d7a7c>, global sys = <module 'sys' (built-in)>, sys.argv = ['-c', '/opt/ezmlm-browse-0.20']
 /usr/lib/python2.5/zipfile.py in __init__(self=<zipfile.ZipFile instance at 0x85a4fcc>, file='-c', mode='r', compression=0, allowZip64=False)
  337             self.filename = file
  338             modeDict = {'r' : 'rb', 'w': 'wb', 'a' : 'r+b'}
  339             self.fp = open(file, modeDict[mode])
  340         else:
  341             self._filePassed = 1
self = <zipfile.ZipFile instance at 0x85a4fcc>, self.fp = None, builtin open = <built-in function open>, file = '-c', modeDict = {'a': 'r+b', 'r': 'rb', 'w': 'wb'}, mode = 'r'

<type 'exceptions.IOError'>: [Errno 2] No such file or directory: '-c'
      args = (2, 'No such file or directory')
      errno = 2
      filename = '-c'
      message = ''
      strerror = 'No such file or directory'