Skip to main contentdfsdf

  • Nov 13, 13

    GLib provides advanced data structures, such as memory chunks, doubly and singly linked lists, hash tables, dynamic strings and string utilities, such as a lexical scanner, string chunks (groups of strings), dynamic arrays, balanced binary trees, N-ary trees, quarks (a two-way association of a string and a unique integer identifier), keyed data lists, relations and tuples. Caches provide memory management.

    GLib implements functions that provide threads, thread programming and related facilities such as primitive variable access, mutexes, asynchronous queues, secure memory pools, message passing and logging, hook functions (callback registering) and timers. Also message passing facilities such as byte order conversion and I/O channels.

    Some other features of GLib include:

    1.standard macros
    2.warnings and assertions
    3.dynamic loading of modules
    4.a type system, GType
    5. an object system, GObject

  • Nov 13, 13

    GLib provides advanced data structures, such as memory chunks, doubly and singly linked lists, hash tables, dynamic strings and string utilities, such as a lexical scanner, string chunks (groups of strings), dynamic arrays, balanced binary trees, N-ary trees, quarks (a two-way association of a string and a unique integer identifier), keyed data lists, relations and tuples. Caches provide memory management.
    GLib implements functions that provide threads, thread programming and related facilities such as primitive variable access, mutexes, asynchronous queues, secure memory pools, message passing and logging, hook functions (callback registering) and timers. Also message passing facilities such as byte order conversion and I/O channels.
    In this tutorial, learn how to use the GLib collection data structures to effectively manage data within C programs. In particular, you'll see how to use GLib's built-in data structures/containers -- linked lists, hash tables, arrays, trees, queues, and relations -- to fill the need for them in C.

  • Mar 21, 13

    "I decided to write an article about a thing that is second nature to embedded systems programmers - low level bit hacks. Bit hacks are ingenious little programming tricks that manipulate integers in a smart and efficient manner. Instead of performing some operation (such as counting the 1 bits in an integer) by looping over individual bits, these programming nuggets do the same with one or two carefully chosen bitwise operations."

  • Jun 19, 11

    You've undoubtedly seen all these various string types like TCHAR, std::string, BSTR, and so on. And then there are those wacky macros starting with _tcs. And you're staring at the screen thinking "wha?" Well stare no more, this guide will outline the purpose of each string type, show some simple usages, and describe how to convert to other string types when necessary.

    In Part I, I will cover the three types of character encodings. It is crucial that you understand how the encoding schemes work. Even if you already know that a string is an array of characters, read this part. Once you've learned this, it will be clearer how the various string classes are related.

    In Part II I will describe the string classes themselves, when to use which ones, and how to convert among them.

  • Oct 12, 05

    Setjmp() and longjmp() are subroutines that let you perform complex flow-of-control in C/Unix.One of the keys to understanding setjmp() and longjmp() is to understand machine layout, as described in the assembler and malloc lectures of the past few weeks.

  • Mar 30, 11

    What happens if you compile a C++ source file? The answer is very obvious: an object or executable file is generated. The executable or the binary files contains machine executable instruction and some metadata about the machine instructions.
    Now the next question arises- how are the machine instructions generated out of a C++ source file? Does the CPU understand the object oriented concepts like inheritance, polymorphism etc? Theoretically a CPU can be designed which can understand the object oriented concepts directly. But the popular x86 or x64 processors do not understand the object oriented directly. These CPUs can execute only a definite set of instructions. And these instructions are sequential and procedural in nature.
    But if you compile a C++ file, some machine instructions are generated. These machine instructions are only from a allowed set of instruction that CPU supports. That means the Object Oriented is achieved using the machines instruction.
    Whole of this book tries to explain how C++ code gets translated into low level instructions. In this book, instead of using the low level machine instruction (or assembly language), we will use C as to see how the C++ code is translated into low level. This is done because the C is very easy to understand and understanding how C code is translated into machine instructions is pretty straight forward.

1 - 6 of 6
20 items/page
List Comments (0)