Advanced C

W

William Rezende

Hi Guys... How are you?

So, I would want to learn more about language C, but I want something more heavy. I'm already from a level medium to hard, but nevertheless I don't know anything more applied. I don't know about alter some config in PC, or make a communication with the network of the PC...

I would like of to know about some workbook that speak more this. What you suggest?

P.S.: Sorry for my english, I'm brazilian.
 
I

Ian Collins

Hi Guys... How are you?

So, I would want to learn more about language C, but I want something more heavy. I'm already from a level medium to hard, but nevertheless I don't know anything more applied. I don't know about alter some config in PC, or make a communication with the network of the PC...

I would like of to know about some workbook that speak more this. What you suggest?

You are probably looking for something specific to your operating system.

If you are interested in network programming, W. Richard Stevens' books
are the best.
 
8

88888 Dihedral

Hi Guys... How are you?

So, I would want to learn more about language C, but I want something more heavy. I'm already from a level medium to hard, but nevertheless I don't know anything more applied. I don't know about alter some config in PC, or make a communication with the network of the PC...

I would like of to know about some workbook that speak more this. What you suggest?

P.S.: Sorry for my english, I'm brazilian.

Be aware of the carry bit in C, I use a my own version of C language, that will
have two global values,
1. default global variable to be nonzero only after an addition or subtraction to store the carry bit for additions or or the borrow bit for subtractions accordingly

2. default global variable of the previous operation result assigned to the LHS for native integer types in an assignment expression only. The native type that can be in a register only. Restrictions applied to avoid unexpected wrong uses and machine dependent troubles.
Pointers? not allowed first, but hackers will poke for pointers

Of course I had these two in assembly.
 
W

William Rezende

Be aware of the carry bit in C, I use a my own version of C language, that will
have two global values,
1. default global variable to be nonzero only after an addition or subtraction to store the carry bit for additions or or the borrow bit for subtractions accordingly

2. default global variable of the previous operation result assigned to the LHS for native integer types in an assignment expression only. The native type that can be in a register only. Restrictions applied to avoid unexpected wrong uses and machine dependent troubles.
Pointers? not allowed first, but hackers will poke for pointers

Of course I had these two in assembly.

I can't understand.
 
W

William Rezende

You are probably looking for something specific to your operating system.
If you are interested in network programming, W. Richard Stevens' books
are the best.

Hi, thanks.

Look, I not still have a way for follow. I would like of sugges for books and general tips. But something that not is "normal" and yes, something more depth. You understand me?
 
8

88888 Dihedral

Hi, thanks.

Look, I not still have a way for follow. I would like of sugges for books and general tips. But something that not is "normal" and yes, something more depth. You understand me?

Of course I have my own additions with carries and subtractions with borrows
in my own C again in assembly when I have to.
 
W

William Rezende

Hi, thank you.

I use Linux, I will look the books, will be of large help.

Still accepted sugges.

Hugs.
 
A

Ark

Hi Guys... How are you?

So, I would want to learn more about language C, but I want something more heavy. I'm already from a level medium to hard, but nevertheless I don't know anything more applied. I don't know about alter some config in PC, or make a communication with the network of the PC...

I would like of to know about some workbook that speak more this. What you suggest?

P.S.: Sorry for my english, I'm brazilian.
The real thing: Harbison & Steele *5th edition*
http://www.amazon.com/Reference-Manual-Samuel-P-Harbison/dp/013089592X
 
S

Stefan Ram

William Rezende said:
I don't know about alter some config in PC

fopen( "C:\\config.sys", "w" ) ...

(Don't take this too seriously.)

, or make a communication with the network of the PC...

You need an environment specific library for this.
Then, study the documentation of this library.
See, for example:

»Windows Sockets 2«

http://msdn.microsoft.com/en-us/library/windows/desktop/ms740673(v=vs.85).aspx

»Windows API List«

http://msdn.microsoft.com/en-us/library/ff818516(v=vs.85).aspx
I would like of to know about some workbook that speak more
this. What you suggest?

For Windows programming, one can start to read the book by
Petzold. But this actually is off-topic in this newsgroup,
because it is not directly related to C. This is not
»advanced C«, it's »the Windows API«. You can try a
Windows-programming newsgroup.
 
N

Nick Keighley

Be aware of the carry bit in C, I use a my own version of C language, that will
have two global values,
1. default global variable to be nonzero only after  an addition  or subtraction  to store the carry bit for additions  or or the borrow bitfor subtractions   accordingly

2. default global variable of the previous  operation result assigned to the LHS for native integer  types in an assignment expression only.  The native type that can be in a register only.  Restrictions applied to avoid unexpected  wrong uses and machine dependent troubles.
Pointers?  not allowed  first, but hackers will poke   for pointers

Of course I had these two in assembly.

To the original poster: ignore this idiot.
 
W

William Rezende

So, really thank you so much... You helped me a lot...

Now I go try follow some of these paths, because in this moment, I have a north...

Hugs...
 
J

Jorgen Grahn

...

Hi, if you are going to develop under Linux/Unix I can suggest this book:

"UNIX Systems Programming: Communication, Concurrency and Threads"
http://goo.gl/EVBtV

along with these two references:

"The Linux Programming Interface:
A Linux and UNIX System Programming Handbook"
http://goo.gl/D0uAM

"Advanced Programming in the UNIX Environment, Second Edition"
http://goo.gl/Yb1Gx

W R Stevens, yes. It doesn't cover network programming though -- for
that see the first volume of his "Unix network programming" and the
first volume of "TCP/IP illustrated".
Don't forget the "man-pages" and comp.unix.programmer!

And Raymond's "The art of Unix programming". Available on paper, but
also free.

But more on-topic: advanced C is (to me) not about handling weird
programming interfaces or using /all/ of the C language. The thing
I spend most time with is the complexity of large code bases.
- How to understand it all well enough?
- How to make a decent design, reflected in the code?
- How to make it testable?
- How to stop it from deteriorating over the years?

/Jorgen
 
I

ImpalerCore

Hi Guys... How are you?

So, I would want to learn more about language C, but I want something more heavy. I'm already from a level medium to hard, but nevertheless I don't know anything more applied. I don't know about alter some config in PC, or make a communication with the network of the PC...

I would like of to know about some workbook that speak more this. What you suggest?

P.S.: Sorry for my english, I'm brazilian.

This is a list of books I want to make time to read, in no particular
order.

The C Programming Language - Kernighan, Ritchie
Code Complete - Steve McConnell (1993) 2nd edition available
Programming Pearls - Jon Bentley (1999)
Classics in Software Engineering - Ed Yourdon (1979)
Refactoring: Improving the Design of Existing Code - Fowler, Beck
(1999)
The Art of Software Testing - Glenford Myers (1979) 2nd and 3rd
editions available
Test Driven Development: By Example - Kent Beck (2002)
Compilers: Principles, Techniques, and Tools - Aho, Sethi, Ullman
The Psychology of Computer Programming - Gerald Weinberg (1971)
The Mythical Man Month - Brooks (1975)
Algorithms (in C) - Sedgewick (1988)
The C Standard Library - P.J. Plauger (1991)
C Unleashed - Heathfield, Kirby (2000)
C Traps & Pitfalls - Koenig (1989)

I've completely read "The C Programming Language" and "Code
Complete" (1993); I've got a long ways to go. It's not a
comprehensive list, just something to browse.

Then there's always the C standard document itself. I've read a large
portion of it once, but it's not something that I've studied enough to
apply. At the minimum, it's good to read (skim) so that you get a
common nomenclature to talk about topics that interest you.

www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf

As far as applications of interest, one could delve into data
structures and algorithms, network programming, multi-threading,
databases, computer graphics, embedded systems, compilers, computer
games, ...

Just some ideas to explore.

Best regards,
John D.
 
I

Ian Collins

Jorgen Grahn ha scritto:
...

Yes, "TCP/IP Illustrated Vol.1" is another great book. It illustrates
the suite of protocols in details (no C language involved,
but this book serves as a useful reference on tcp/ip) and the long
awaited second edition (of this first volume) has just come out:
http://goo.gl/CPOVv

If the OP is after a book that covers "Advanced C", volume 2 certainly
fits the bill.

Thanks for the heads up on that second edition.
 
E

Eric Sosman

[...]
But more on-topic: advanced C is (to me) not about handling weird
programming interfaces or using /all/ of the C language. The thing
I spend most time with is the complexity of large code bases.
- How to understand it all well enough?
- How to make a decent design, reflected in the code?
- How to make it testable?
- How to stop it from deteriorating over the years?

Yes. Deciding *what* to do is the hard part; doing it is
easy by comparison. The divide is language-independent, so when
someone wants to employ "advanced C techniques" or "advanced Ada
techniques" or "advanced COBOL techniques" I cannot help but think
the wrong end of the stick has been grasped.
 
S

Stefan Ram

Eric Sosman said:
Deciding *what* to do is the hard part; doing it is
easy by comparison.

So, and in between the two, there is »estimating how
long it will take«. How easy is that by comparision?
 
S

Stanley Rice

So, here it is. Is there any book that you suggest to delve into multi-threading programming?
 
E

Eric Sosman

So, and in between the two, there is »estimating how
long it will take«. How easy is that by comparision?

There's a well-known three-step algorithm for obtaining
realistic project estimates:

1) Ask an experienced engineer how long the job will take.
The answer has a number and a unit of time, for example
"four weeks."

2) Double the number. For the example, this yields "eight
weeks."

3) Advance to the next-larger time unit. The example now
yields "eight months."

.... and that's how long a typical four-week project takes. ;-)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,075
Latest member
MakersCBDBloodSupport

Latest Threads

Top