472,807 Members | 3,018 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,807 software developers and data experts.

Little question about what C can do (First steps learner)

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? Do you have better recommendation?

Thank you people. Bye!

Thank you

Nov 26 '05 #1
9 1640
Silas Justiniano wrote:
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
--
E-Mail: Mine is an /at/ gmx /dot/ de address.
Nov 26 '05 #2

"Silas Justiniano" <si*****@gmail.com> wrote in message
news:11**********************@g47g2000cwa.googlegr oups.com...
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? Do you have better recommendation?


Such a program already exists in many forms, e.g., Microsoft's 'dumpbin
/exports ???' and depends.exe

Nov 26 '05 #3

"Silas Justiniano" <si*****@gmail.com> wrote
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? Do you have better recommendation?

The dll reader is certainly a possibility.
There are two problems, firstly such programs almost certainly exist, and
secondly the problem is knowing the format of the dll file, the C itself is
pretty trivial.
However it is a reasonable length project.

Really you need an area of non-computer life you know something about. Then
you need a task that can only be done, practically, with a computer.

For instance a friend wanted a program that would help him cheat at online
poker. This seems to me quite doable - given a hand and a visible table, the
odds are mathematically calculable. Then you need some way of adding in
psychological factors based on the bids.
Nov 26 '05 #4
Malcolm <re*******@btinternet.com> wrote:
For instance a friend wanted a program that would help him cheat at online
poker. This seems to me quite doable - given a hand and a visible table, the
odds are mathematically calculable. Then you need some way of adding in
psychological factors based on the bids.

^^^^
Those would be "bets" - poker ain't bridge :-)

--
Christopher Benson-Manica | I *should* know what I'm talking about - if I
ataru(at)cyberspace.org | don't, I need to know. Flames welcome.
Nov 27 '05 #5
Thank you guys. So I'll make a standard C program, and useful... let me
think... I thought about a simple calculator shell, or a image viewer
with GTK.....

Thank you again. Be prepared to receive my questions! Bye!

Nov 27 '05 #6

"Silas Justiniano" <si*****@gmail.com> wrote
Thank you guys. So I'll make a standard C program, and useful... let me
think... I thought about a simple calculator shell, or a image viewer
with GTK.....

An expression parser (1 + 3) * 4 = ? etc is quite hard to write.

Most images are either JPEG or GIF - unless you have a library, neither is
trivial to decode.

However don't let me put you off - I'm just warning.
Nov 27 '05 #7
Sorry to bother you again, but what about a program that say me what is
passing through my computer (it's a router to another) came from
internet?

I know already there are programs that do that, but there are programs
that do everything, I must copy the idea. So I can learn how networks
work and C in the same time. Is it possible?

I'll start a program in Tcl/Tk similar to Picasa for Windows. I was
think to use the sqlite to store information about paths, etc. Or would
be better to develop my own database schema and make a module to allow
my Tcl/Tk program access it? I can do it with Tcl, but a C module would
be faster.

What do you think?

Thank you! Bye!

Nov 27 '05 #8

Silas Justiniano wrote:
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? Do you have better recommendation?

Thank you people. Bye!

Thank you


My recommendations:
* Get a lot of open-source software that is written in C and compile,
test, and debug. Don't ask questions about it until you feel you've
gotten into the author's head and know the code better than he does.
* If you have generic questions about C, don't hesitate to ask on this
list. As long as the question doesn't sound like homework, you may get
a cryptic answer from the comp.lang.c Oracle.
* Keep asking "Why?" and "What if?"

Gregory Pietsch

Nov 28 '05 #9
On 27 Nov 2005 12:00:20 -0800, "Silas Justiniano" <si*****@gmail.com> wrote:
Sorry to bother you again, but what about a program that say me what is
passing through my computer (it's a router to another) came from
internet?

I know already there are programs that do that, but there are programs
that do everything, I must copy the idea. So I can learn how networks
work and C in the same time. Is it possible?


It may help a lot if you don't ``reinvent an existing wheel'', but focus
instead of reading the code of others too.

One of the most satisfying and educating projects we had in the computer
science department I used to study was:

``Find a medium sized project, of your own choise, ranging in size
somewhere between 9000 and 10000 lines of code, read it and be
prepared to answer questions about its internals.''

My team picked GNU ed(1). A printout of the source code (around 160
pages) and a copy of "The C Programming Language" was all I took with me
during that Winter's Christmas break. I still remember how much fun it
was and feel thankful for our instructor at the time, Dimitris Xenos.

Dec 28 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

35
by: wired | last post by:
Hi, I've just taught myself C++, so I haven't learnt much about style or the like from any single source, and I'm quite styleless as a result. But at the same time, I really want nice code and I...
4
by: C# Learner | last post by:
<code> public class MainClass { private ArrayList list; public Class() { list = new ArrayList();
9
by: C# Learner | last post by:
Some time ago, I remember reading a discussion about the strengths and weaknesses of exception handling. One of the weaknesses that was put forward was that exception handling is inefficient (in...
19
by: C# Learner | last post by:
I've been told on here that the following is equivalent: <snippet 1> int a; for (int i = 0; i < 10; ++i) { a = GetValueFromSomewhere(); } </snippet 1>
7
by: John Salerno | last post by:
Ok, here's an attempt at something. I figure I can use this to let me know when my laundry's done! :) I'm hoping you guys can spot ways to make it better/cleaner/more efficient, etc. especially...
3
by: Michael D. | last post by:
Hello all! I'm trying to design and write a little application for someone in my office, but I'm having some trouble. I have the following database structure (Note: just some sample data,...
0
by: Joseph S. | last post by:
hi all, debugging PHP applications interactively is possible, easy and free. I am talking about PHPEclipse and using it for debugging over several scripts or debugging through a session. Since I...
1
by: koehlerc14 | last post by:
So here is the deal, I am attempting to make what is the most complex form i have made yet. It really is not much, but as an amatuer it is a little overwhelming. Here's a few critical background...
7
by: yaragallamurali | last post by:
Hi I have thought about my earlier post, refined it and reposting it. I am actually new to schema designing. I have read few articles about data modeling and started building schemas for real time...
0
by: erikbower65 | last post by:
Here's a concise step-by-step guide for manually installing IntelliJ IDEA: 1. Download: Visit the official JetBrains website and download the IntelliJ IDEA Community or Ultimate edition based on...
0
by: kcodez | last post by:
As a H5 game development enthusiast, I recently wrote a very interesting little game - Toy Claw ((http://claw.kjeek.com/))。Here I will summarize and share the development experience here, and hope it...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Sept 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: Taofi | last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same This are my field names ID, Budgeted, Actual, Status and Differences ...
14
DJRhino1175
by: DJRhino1175 | last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this - If...
0
by: Rina0 | last post by:
I am looking for a Python code to find the longest common subsequence of two strings. I found this blog post that describes the length of longest common subsequence problem and provides a solution in...
0
by: lllomh | last post by:
How does React native implement an English player?
0
by: Mushico | last post by:
How to calculate date of retirement from date of birth
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.