Silas said:
Hello guys.
I know just the basics of C... I want to learn it more. Friends told
me: you need your own project, and I think the same. Everything I was
thinking to do, already exists, memory reading, compression algorithms,
etc... so I was think a simple .dll/.so reader. For example, the user
wants to know what functions that .dll or .so provides... So I "read"
the file and show this.
Is it possible?
It is possible as there already exist programs providing exactly
this information. Ask in newsgroups for the operating system
in question about this.
> Do you have better recommendation?
That depends. Your project is system specific, so you might more
or less inadvertently learn non-portable C, especially if your
implementation effectively makes this the preferred way of
programming.
I would start out with a pet project that can be implemented in
plain standard C (even if it already "has been done"). Maybe the
existing programs do not _exactly_ cater to your needs -- so
rewrite them.
With this small or medium project, you should be able to learn
much about standard C. Why standard C? So you know how it "should"
be done. So you can separate the non-portable parts of your projects
from the portable inner workings. Note that most compilers have to
be coerced into a standard conforming mode, read the documentation.
Also use the highest available warning level and lint-tools.
Try to understand all warnings and remove their cause by using
a better programming language construct (this may not always be
possible).
Feel free to ask questions or ask for code reviews round here
Then, you can try and do your original project.
Afterwards, have a look at sourceforge or similar sites and join
your efforts with others to produce software.
This way quickly puts some hair on... er... will with high
probability benefit you most in the medium and long run.
BTW: Choosing the right tool, i.e. the right language, for the
respective project is another thing you have to do. C is not the
right answer for most things. To be able to get the excellent code
reviews of standard C code available round here, though, you might
want to stay with C... ;-)
Cheers
Michael