🔒 Closed [guide] learning the basics of c/c++

Status
Not open for further replies.

PHC-Janna

Honorary Poster
A lot of people have been asking this question, and thats what this forum is flooded with. I was hoping to come into this forum and see a little bit of knowledge passed around; however, it hasn't been. So, since I have nothing better to do at the moment, I decided to compile a list of very helpful resources. Both from my own personal favorites as well as a few given from gameuser.

To start with, what do you want to use C/C++ for anyway?
If you want to start writing games, you're definately a far cry away from that. However, it wouldn't hurt to start now because it will take you time to learn anyway.

Game design/programming - To begin there have been a lot of suggestions by people, and the ones I consider reliable are real game programmers. From what GameDev.net, as well as a few programmers from Blizzard Entertainment have told me. They say your better off by just learning C++, mainly because that is the primary language for the graphical libs; DirectX, OpenGL, SDL, etc. However, it is true that C++ is a superset of C.

Also it has been recommended that before you get into DirectX and OpenGL kinda stuff, that you have a good undertanding of the Win32 API first, you don't need to know every little detail but it helps.


But lets get the party started by sharing a few very good C/C++ sites with extremely useful tutorials:

--- ALWAYS BEING UPDATED ---

Will be updated with more information, when information is found, or someone suggests a good link.


[Books]

The C Programming Language - Kernighan and Ritchie - You do not have permission to view the full content of this post. Log in or register now. / You do not have permission to view the full content of this post. Log in or register now. /
You do not have permission to view the full content of this post. Log in or register now.
The C++ Programming Language - Stroustrup - You do not have permission to view the full content of this post. Log in or register now.
Starting Out With C++: Standard Version - Gaddis - You do not have permission to view the full content of this post. Log in or register now.
The Geometry Toolbox for Graphics and Modeling - Gerald E. Farin, Dianne Hansford - You do not have permission to view the full content of this post. Log in or register now.
Programming Windows, Fifth Edition - Charles Petzold - You do not have permission to view the full content of this post. Log in or register now.
Essential Mathematics for Games and Interactive Applications, First Edition : A Programmer's Guide - James M. Van Verth, Lars M. Bishop - You do not have permission to view the full content of this post. Log in or register now.



[Newbie/No Programming Experience]
You do not have permission to view the full content of this post. Log in or register now. -- Most commonly posted site for tutorials, decent in my opinion. It gives you a very quick and broad overview of the language.
You do not have permission to view the full content of this post. Log in or register now. -- Decent beginners tutorials. However, like most books they use a lot of computer terms.
You do not have permission to view the full content of this post. Log in or register now. -- Great site with lots of tutorials for all skill levels, when it's up that is...
You do not have permission to view the full content of this post. Log in or register now. - Same thing that You do not have permission to view the full content of this post. Log in or register now. was doing for free until they started charging you for the tutorials. The great part about this is you get them for FREE!
You do not have permission to view the full content of this post. Log in or register now. - Numerous tutorials that range from good to bad, and skilled to newbie.
You do not have permission to view the full content of this post. Log in or register now. - Links to a LOT of other tutorials that are not yet listed here.
You do not have permission to view the full content of this post. Log in or register now. - Site titled "Learn C++ in 21 Days"



[Intermediate]

You do not have permission to view the full content of this post. Log in or register now. -- Decently written OpenGL tutorials, lacks a bit of function definition but good overall, and highly linked to. He has bad coding habits, so don't copy and paste the stuff, just use it for learning.
You do not have permission to view the full content of this post. Log in or register now. -- Once you've learned to program, you should start developing a good programming style so other programmers dont have to decode what you're trying to say. I agree with 80% of this document, so just use it as a guideline.
You do not have permission to view the full content of this post. Log in or register now. - Very well written tutorials, they have a LARGE variety of them as well. Most of them are in the Demos section, they will be adding articles soon!
You do not have permission to view the full content of this post. Log in or register now. - Good reference for OpenGL Functions, similar setup to manpages.
You do not have permission to view the full content of this post. Log in or register now. - Great site, full of content, and explains OpenGL VERY well.
You do not have permission to view the full content of this post. Log in or register now. - More technical than the red version, and again LOTS of content.
You do not have permission to view the full content of this post. Log in or register now. - Contains a lot of links to informational pages on the selected subject.
You do not have permission to view the full content of this post. Log in or register now. - NEWLY ADDED - The DirectX version of NeHe's tutorials.
You do not have permission to view the full content of this post. Log in or register now. - An interesting way to teach OpenGL, havent tried it but I will soon. It's tutoring application that visually teaches you the library.
You do not have permission to view the full content of this post. Log in or register now. - Great DirectX tutorials, however he uses a wrapper to teach you how to use them. So it's definately not a good way to learn.
You do not have permission to view the full content of this post. Log in or register now. - NEWLY ADDED
You do not have permission to view the full content of this post. Log in or register now. - Decent place to get started on DirectX or OpenGL, coding by example, usually a bad way of learning, but thats why it's in the advanced section.
You do not have permission to view the full content of this post. Log in or register now. - DirectX 8 Tutorials, however they are decently written. DirectX 8 was the last version to using the old fasion BitBlt() function.
You do not have permission to view the full content of this post. Log in or register now.- MSDN is ALWAYS a bookmark, and should be for ANY programmer.
You do not have permission to view the full content of this post. Log in or register now. - OpenGL.org has a lot of resources, very helpful for OpenGL ofcourse.
You do not have permission to view the full content of this post. Log in or register now. - OpenGL tutorial that uses Language C.
You do not have permission to view the full content of this post. Log in or register now. - A LOT OF TUTORIALS!
You do not have permission to view the full content of this post. Log in or register now. - NEWLY ADDED



[Advanced]

You do not have permission to view the full content of this post. Log in or register now.- Good tutorials, and very technical.
You do not have permission to view the full content of this post. Log in or register now. - A lot of topics are discussed here, very informational.
You do not have permission to view the full content of this post. Log in or register now. - NEWLY ADDED - This one varies on skill levels, lots of advanced stuff here though.
You do not have permission to view the full content of this post. Log in or register now. -- Programming as a profession? Want to keep your job? This documentation will help you write unmaintainable code, so if they fire you. They will have one hell of a time trying to figure out your code.



[Video Tutorials]

* I don't really think video tutorials teach a beginning user much, but some people might be able to learn from them. So, I decided to add this section to the list. *
You do not have permission to view the full content of this post. Log in or register now. - Video tutorial that is split into 16 parts. The guy has a UK Accent, and is not entirely boring to listen to. Submitted by kratos15



[C/C++ IDE's] - NEWLY ADDED

You do not have permission to view the full content of this post. Log in or register now. - Popular free IDE for both *nix and Win32
msdn.microsoft.com/E×ρréšš - Another popular free IDE recommended, also if you plan on using this don't forget to download the Platform SDK
You do not have permission to view the full content of this post. Log in or register now. - The famous Java IDE can also be a C/C++ IDE with a somewhat simple plug-in installation



[Graphic Libraries] - NEWLY ADDED

You do not have permission to view the full content of this post. Log in or register now. - A great large listing of game häçking tutorials. Including tutorials on creating trainers in C/C++ as well as a few other häçks.




[Graphic Libraries]

You do not have permission to view the full content of this post. Log in or register now. - Simple DirectMedia Layer (SDL) - Quick and easy to learn 2D Library, that also works very well with OpenGL
You do not have permission to view the full content of this post. Log in or register now. - A lot like SDL, but not as "clean" as SDL




[align=center]*** There is a variety of Game/Graphic Developement Engines and Libraries, I will just list a few that I have found ***
[/align]


[Game/Graphic Engines]

You do not have permission to view the full content of this post. Log in or register now. - Object-oriented Graphics Rendering Engine - 3D
You do not have permission to view the full content of this post. Log in or register now. - Irrlicht Engine Open Source - 3D
You do not have permission to view the full content of this post. Log in or register now. - Some what a library and somewhat an engine - 2D

Press Like And Thanks :):):)

A lot more to Come ! :D
 
sir alam nyo po mag assembly ng code?


Assembly language is a low-level programming language for a computer or other programmable device specific to a particular computer architecture in contrast to most high-level programming languages, which are generally portable across multiple systems. Assembly language is converted into executable machine code by a utility program referred to as an assembler like NASM, MASM, etc.

Audience
This tutorial has been designed for those who want to learn the basics of assembly programming from scratch. This tutorial will give you enough understanding on assembly programming from where you can take yourself to higher levels of expertise.

Prerequisites
Before proceeding with this tutorial, you should have a basic understanding of Computer Programming terminologies. A basic understanding of any of the programming languages will help you in understanding the Assembly programming concepts and move fast on the learning track.

Compile/Execute Assembly Programs
For most of the examples given in this tutorial you will find Try it option, so just make use of it and enjoy your learning.

Try following example using Try it option available at the top right corner of the below sample code box:


ection .text
global _start ;must be declared for linker (ld)
_start: ;tells linker entry point
mov edx,len ;message length
mov ecx,msg ;message to write
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel

mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel

section .data
msg db 'Hello, world!', 0xa ;string to be printed
len equ $ - msg ;length of the string
 
Assembly language is a low-level programming language for a computer or other programmable device specific to a particular computer architecture in contrast to most high-level programming languages, which are generally portable across multiple systems. Assembly language is converted into executable machine code by a utility program referred to as an assembler like NASM, MASM, etc.

Audience
This tutorial has been designed for those who want to learn the basics of assembly programming from scratch. This tutorial will give you enough understanding on assembly programming from where you can take yourself to higher levels of expertise.

Prerequisites
Before proceeding with this tutorial, you should have a basic understanding of Computer Programming terminologies. A basic understanding of any of the programming languages will help you in understanding the Assembly programming concepts and move fast on the learning track.

Compile/Execute Assembly Programs
For most of the examples given in this tutorial you will find Try it option, so just make use of it and enjoy your learning.

Try following example using Try it option available at the top right corner of the below sample code box:


ection .text
global _start ;must be declared for linker (ld)
_start: ;tells linker entry point
mov edx,len ;message length
mov ecx,msg ;message to write
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel

mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel

section .data
msg db 'Hello, world!', 0xa ;string to be printed
len equ $ - msg ;length of the string
nice thanks po
 
Thank you very much sir for this very detailed information. I myself is a programmer by hobby but stopped for a long time and would like to reboot on my programming skills. I do know HTML5/CSS3 though. So thank you for the links. Another addition would be to watch tutorials on Youtube. There's plenty of tuts out there.

Nice guide btw.
 
For c/c++ programmers sa windows, either get VS pero personally mas gusto ko You do not have permission to view the full content of this post. Log in or register now. + mingw-w64 (especially great if you're doing advanced stuff).

For those who like to be a graphics developer (OpenGL, DX): you're in to a world of pain :)

Not only you have to learn a huge graphics api, you have to know about how graphics pipeline works and you have to be sufficiently good at math. Linear algebra, matricix math, geometry, trigonometry, calculus.. yeeey!!

For those who don't like to learn about Windows API (like me), pwede namang hindi na. You do not have permission to view the full content of this post. Log in or register now. or You do not have permission to view the full content of this post. Log in or register now. can take care of the windowing system and context handling, and You do not have permission to view the full content of this post. Log in or register now. can take care of extensions; and your game will be available not just for windows.. Plus You do not have permission to view the full content of this post. Log in or register now. (or LuaJIT) for more power. If you need to go a bit higher-level yung mga na-mention na engine will help you a lot.


BTW, dun sa mga hindi pa na-intimidate at gusto matututo ng OpenGL, wag niyo na daanan yung Fixed Function Pipeline. Straight na kayo sa shaders i.e. GL2+ (3 if available)
 
Status
Not open for further replies.

About this Thread

  • 19
    Replies
  • 1K
    Views
  • 12
    Participants
Last reply from:
PHC-Janna

Trending Topics

Online now

Members online
404
Guests online
1,282
Total visitors
1,686

Forum statistics

Threads
2,274,140
Posts
28,953,851
Members
1,235,099
Latest member
hiro1985
Back
Top