Discreader is a project mainly written in C and C++, it's free.
Low level C/C++ reading of the data on a CD using SCSI
Low level reading using AKrip dir