[vorbis-dev] more vorbisfile, and win32

Jonathan Blow jon at bolt-action.com
Wed Nov 8 04:53:02 PST 2000



Monty wrote:

> Really?  How evil.  I didn't know C++ was limited this way... are you
> sure (it should be a perfect superset of ANSI C, but I suspect I'm
> being naieve)

I think that it is just not specified in the language semantics 
(you can imagine you would need a generic compile-time predicate
telling you whether two types are equal) and so most compilers just
can't do it.  For example, Visual C++ can't do it.  I don't
know about gcc.

It probably works in C because all C cares about is the shape
of the data wrt calling conventions.  So "typedef struct ... foo" and
"struct foo ..." look exactly the same.  The difference is that
C++ has linker-enforced typesafety, regardless of whether the data
happens to be the same shape.  So the two variants C++-name-mangle
into different strings.
  

I have noticed that someone has gone through and added more 
thorough Visual C++ project files than the ones I made some months
ago.  So I have the following questions:

* Is there a reason mine is still there (vorbis_vc6 directory), 
  or should we delete it?

* Can we change the current project files to link against the threadsafe
  C libraries, rather than the unthreadsafe ones it is using now?
  (e.g. libcmtd instead of libcd).  Most people writing real apps will
  want to link to the threadsafe versions, and an app cannot link to
  both the threadsafe and unthreadsafe libs without causing undefined
  behavior.  And there is really no reason to use the unthreadsafe
  libs that I have ever heard of; they are a throwback.

      -Jonathan.

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list