How to learn more in C programming
Hi all,
I know basic C programming and want to learn more about C. Are there any Ebooks or tutorials to learn how C interacts with hardware? Or perhaps something that connect C and the OSI model. I searched on torrent sites but could not find any books for my interest, so please help me out and suggest any books or video tutorials that you found helpful.
You may want to look here http://www.csd.uoc.gr/~hy556/material/tutorials/cs556-3rd-tutorial.pdf
and here https://csperkins.org/teaching/ns3/labs-intro.pdf :)
[quote= Benjamin Disraeli (1804 - 1881), Sybil, 1845]To be conscious that you are ignorant is a great step to knowledge.[/quote]
Oh yeah, you are right, I posted in an hurry and didn’t realized that man pages are a too generic concept…
Anyway I was referring to the man pages you find on any linux distro.
Since my main operating system is linux and I mostly code under linux platforms I generally make use of the above mentioned man pages.
For example, you can access the man page of a function like so:
man malloc
NAME
malloc, free, calloc, realloc - allocate and free dynamic memory
SYNOPSIS
#include <stdlib.h>
void *malloc(size_t size);
void free(void *ptr);
void *calloc(size_t nmemb, size_t size);
void *realloc(void *ptr, size_t size);
DESCRIPTION
The malloc() function allocates size bytes and returns a pointer to the allocated memory. The memory is not initialized. If size is 0, then malloc() returns either NULL, or a unique
pointer value that can later be successfully passed to free().
[truncated]
Another important reference is the C99 ANSI standard (ISO/IEC 9899:1999 standard) which includes several additions to the previous C95.
You have two options here, one is an official copy (PDF version) available for purchase from ANSI.
The other option is the draft available for free which includes corrections and amendments. You can find it on Open Standards Organization’s website here.
Without any doubt this is the preferred way to go, it is still an official doc and someone even claims it’s better than the official one.
MrCyph3r - Wow, I didn’t knew I could access man pages for C functions from the terminal and thank you for the link. I looked around a little more and found this manual http://techpubs.sgi.com/library/manuals/0000/007-0701-150/pdf/007-0701-150.pdf.
By the way, would you recommend joining a project on source forge or git hub. If I join one of the projects, will the people currently working on the project help me out or will they assume that I know stuff and will expect me to start contributing?
btw, how to use the url tag in these forums?
Landryh - I learned cmd at school and don’t know about any good online sources but if you are a beginner then there is a abundance of beginner guides out there to get you started. cmd also has a built in help command to learn more. Just type help for list of all available commands and help for manual of that command.
[ url=http://google.fr ] Text [ /url ]
–>
Text
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘\’‘ at line 1
Of course I think it will help you learning C.
Just learn the basics of this language then practice ; you’ll discover new things everyday and you’ll learn those new things.
But it will take the time needed :p
This is much like I’ve learned Javascript and C++
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘\’‘ at line 1
@Vj18 it took me some time to reply to this thread… lol too many projects on the line I guess :p
Anyway, I’m not able to access the pdf you linked so I don’t have any idea about it.
As I said man pages helps a lot, but, if you want to contribute to a project on github well, you will probably be welcome if you develop something useful.
However, if you are still learning I don’t think github will help you a lot (at least not in the way you think), I mean, yes you can contribute by forking a repo and then proposing new features, changes and improvements to a project by pull requests. However, unless you are directly involved into a project you will not likely get a lot of help, because most of the times developers are busy as hell at coding and solving bugs, issues, adding stuff and they just don’t have the time to mentor someone.
On the other end though, forking a project and working on it can help YOU a lot understanding coding styles, best practices, common methods of doing things… not to mention that you can also see different methods of implementing features depending on the skill level of involved developers.
There are different types of contributions on github, but usually you cannot simply join a project and expect to know the other members of the team just by clicking a button. Most of the times you just propose stuff and if you do great things you will probably get invited by someone to contribute.
In conclusion, yes, forking a project or just browsing github projects can definitely help you improve your knowledge, however if you are doing this for the sole purpose of finding a mentor unfortunately there are little chances to obtain this, at least on the biggest and most interesting projects.
Note, this doesn’t absolutely mean that github isn’t a great platform, indeed it is.. I use it a lot and I find it almost a primary resource.
@Landryh I’m sorry but as I said to other people by pm, I’m just too busy to mentor someone… can’t be of help unfortunately.
If you want to train your skills on a project and do something useful, you could do me a favor and port the Python tools from HPLIP (http://hplipopensource.com/hplip-web/index.html) to C.
hello the guy I want to know how THIS HACK for I would be one of yours and I already have some computer knowledge
please help me to begin good hacker and good developer
http://www.amazon.com/Sockets-Shellcode-Porting-Coding-Professionals/dp/1597490059
This book might help you .
JAYSSJ11- “I’d rather be hated for who I am, than loved for who I am not.”
please help me to begin good hacker and good developer
please help me to begin good hacker and good developer
please help me to begin good hacker and good developer
@dricko you better create a new thread asking it because that’s not the topic of this thread ;)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘\’‘ at line 1
please help me to begin good hacker and good developer
please help me to begin good hacker and good developer
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘\’‘ at line 1
ok ok in this case the forum will help me a lot because I’m struggling to understand programming in C
please help me to begin good hacker and good developer
Just type this into your browser. “https://duckduckgo.com/?q=c+programming+tutorial&t=osx”
There’s no place like 127.0.0.1
Read the Linux kernel source and check out the IP utils and network drivers…
*Sigh
https://github.com/torvalds/linux