Ваше Имя:
Пароль:

+ Регистрация



Гриффитс А. - GCC. Полное руководство
Категория: C, Книги | Добавил: root, 11 декабря 2007 | Просмотров: 22922
GCC. Полное руководствоГриффитс А. - GCC. Полное руководство

Издательство: ДиаСофт
ISBN:966-7992-33-0
Год: 2004
Страниц: 609

Формат: DJVU
Размер: 6.25 Mb
 

От издателя
GCC - основной компилятор проекта GNU. Он поддерживает набор всех наиболее используемых языков программирования и обеспечивает перенос программ на десятки аппаратных платформ. Все свободно распространяемое программное обеспечение, включая и компиляторы, на том или ином уровне основываются на GCC.

В книге даются подробные сведения о получении, конфигурировании, установке и тестировании компилятора. Представлено построение кросс-компилятора и создание встраиваемых систем, детально описывается компиляция программ на языках С, C++, Objective-C, Fortran, Java и Ada. А также сочетание в одной программе нескольких языков программирования и включение в нее частей, написанных на ассемблере или языках системного уровня. В этой книге можно найти практически любые сведения, достаточные не только для разрешения ваших проблем, но и для участия в разработке и поддержке самого компилятора GCC.

Книга будет полезна: программистам-разработчикам и руководителям программных проектов; администраторам и системным программистам, которым приходится заниматься переносом программного обеспечения и приложений; пользователям, заинтересованным в использовании программ с открытым исходным кодом. И всем сторонникам развития движения по созданию свободно распространяемых программ.

Ссылки для ознакомления:
rapidshare
depositfiles
ifolder



Версия для печати

Комментариев: 1 +
#1 , 9 июля 2010 - 16:12
Отличнейшая книга.
Автору спасибо за релиз. razz
Уважаемый посетитель, вы вошли на сайт как незарегистрированный пользователь. Вы можите зарегистрироваться, либо войти на сайт под своим именем, чтобы добавлять комментарии.

Другие статьи в этой категории
Кристиан Нейгел, Билл Ивьен, Д. Глинн, Уотсон, Морган Скиннер - C# 4.0 и платформа .NET 4 для профессионалов

Издательство: Вильямс
ISBN: 978-5-8459-1656-3
Год: 2010
Страниц: 1440


Формат: DJVU + CD
Размер: 65 Mb
 
Программирование. Принципы и практика использования C++Бьерн Страуструп - Программирование. Принципы и практика использования C++

Издательство: Вильямс
ISBN: 978-5-8459-1705-8
Год: 2011
Страниц: 1246


Формат: DJVU
Размер: 20 Mb
 
#include <stdlib.h>
int wctomb(char *out, wchar_t in);
Функция wctomb() преобразует двухбайтовый символ, содержащийся в параметре in, в его многобайтовый эквивалент и помещает результат в массив, адресуемый параметром out. Массив, адресуемый параметром out, должен иметь длину не меньше MB_CUR_MAX символов.

При успешном выполнении функция wctomb() возвращает количество байтов, содержащихся в многобайтовом символе. При возникновении ошибки возвращается значение -1.

Если параметр out равен нулю, функция wctomb() возвращает ненулевое значение в случае, когда многобайтовый символ имеет кодировку, зависящую от территориально-языковых особенностей. В противном случае возвращается нуль.
#include <stdlib.h>
size_t wcstombs(char *out, const wchar_t *in, size_t size);

Функция wcstombs() преобразует массив двухбайтовых символов, адресуемый параметром-указателем in, в его многобайтовый эквивалент и помещает результат в массив, адресуемый параметром out. Преобразованию подлежат только первые size символов. Процесс преобразования прекращается раньше, если будет обнаружен символ конца строки ('0').

В версии С99 к параметрам out и in применен квалификатор restrict.

При успешном выполнении функция wcstombs() возвращает количество байтов, помещенных в массив out. При возникновении ошибки возвращается значение -1.
#include <stdarg.h>
type va_arg(va_list argptr, type);
void va_copy(va_list target, va_list source);
void va_end(va_list argptr);
void va_start(va_list argptr, last_parm);
Макрос va_copy() добавлен в версии С99.

Для передачи функции переменного числа аргументов совместно используются макросы va_arg, va_start и va_end. Самым распространенным примером функции, которая принимает переменное число аргументов, является функция printf(). Тип va_list определен в заголовке .

Общая процедура создания функции, которая может принимать переменное количество аргументов, такова:

Функция должна иметь по крайней мере один известный параметр (может и больше), указываемый до переменного списка параметров. (Такие параметры называются также обязательными, а параметры, следующие за ними — необязательными.) Крайний правый известный параметр называется last_parm. (Он предшествует первому необязательному параметру.) Его имя используется в качестве второго параметра в обращении к макросу va_start(). Чтобы получить доступ к любому дополнительному параметру, сначала необходимо инициализировать указатель-аргумент argptr, обратившись к макросу va_start(). (Иными словами, необходимо выполнить вызов va_start(argptr, <имя last_parm>).) После этого значения параметров возвращаются в результате вызова макроса va_arg(). В качестве второго аргумента этого макроса (соответствующего параметру type), нужно указать тип следующего параметра. Наконец, после прочтения всех параметров до возвращения из функции необходимо вызвать макрос va_end(), чтобы гарантировать корректное восстановление стека. Если макрос va_end() вызван не будет, высока вероятность аварийного отказа программы.

Макрос va_copy() копирует список аргументов, обозначенный параметром target, в объект, обозначенный параметром source.
#include <stdlib.h>
int system(const char *str);
Функция system() передает строку, адресуемую параметром str, в качестве команды для командного процессора операционной системы.

Если функция system() вызывается с нулевым указателем, она возвращает ненулевое значение при условии доступности командного процессора и нуль в противном случае. (Программы, выполняемые в специальных средах, могут не иметь доступа к командному процессору.) Значение, возвращаемое функцией system(), определяется конкретной реализацией. Но обычно возвращается нуль при успешном выполнении команды, а ненулевое значение кода возврата означает наличие ошибки.
#include <stdlib.h>
unsigned long long int strtoull(const char *restrict start,
char **restrict end, int radix);
Функция strtoull() добавлена в версии С99.

Функция strtoull() аналогична функции strtoul() за исключением того, что она возвращает значение типа unsigned long long int. Если результат не может быть представлен как значение типа unsigned long long int, возвращается значение ULLONG_MAX, а глобальная переменная errno устанавливается равной значению ERANGE, свидетельствующему об ошибке из-за выхода результата за пределы представимых чисел. Если параметр start не указывает на число, никакого преобразования не выполняется и функция возвращает нуль.