AntonGib |
Отправлено: 10.11.2005, 13:21 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 25
|
Директивы:
# (null directive) #ifdef
#define #ifndef
#elif #import
#else #include
#endif #line
#error #pragma
#if #unde
Я понимаю обозначение почти каждой директивы.
А зачем они нужны я не пойму.
|
|
Guest |
Отправлено: 10.11.2005, 13:31 |
|
Не зарегистрирован
|
Они нужны для динамического управления процессом компиляции.
(Да почитайте вы книжку в конце-то концов ) |
|
AntonGib |
Отправлено: 10.11.2005, 15:29 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 25
|
Но если вам понятно динамическое управление процессом компиляции, то я за вас рад, а мне нет.
Граждани а для чего это нужно. Приведите пример. Очень прошу.
|
|
Guest |
Отправлено: 10.11.2005, 16:14 |
|
Не зарегистрирован
|
Динамическое — это означает что процесс компиляции (именно компиляции, а не выполнения приложения) можно пустить по разным веткам в зависимости от выполнения или не выполнения неких условий.
Примеры:
#ifndef ___NFILE_H
#define ___NFILE_H
#define _NFILE_ 250
#endif
#ifdef __cplusplus
namespace std {
#endif
#if !defined(__STDC__)
struct heapinfo
{
void * ptr;
void * ptr2;
unsigned size;
int in_use;
};
#endif
#ifdef __cplusplus
extern "C" {
#endif
и т.д. |
|
AntonGib |
Отправлено: 10.11.2005, 17:16 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 25
|
А зачем так мудрить? |
|
gvg |
Отправлено: 10.11.2005, 17:55 |
|
Машинист паровоза
Группа: Участник
Сообщений: 222
|
Гляжу, у Вас ни малейшего желания разобраться в чем-либо самостоятельно...
А мудрить нужно потому, например, что программы иногда пишут под различные компиляторы и даже платформы. Не переписывать же все под каждый вариант, если там различия незначительные. |
|
Guest |
Отправлено: 10.11.2005, 18:02 |
|
Не зарегистрирован
|
Что бы можно было создавать исполняемый код максимально близкий к потребностям конкретной обстановки с минимальной головной болью. |
|
Guest |
Отправлено: 11.11.2005, 10:19 |
|
Не зарегистрирован
|
Ну вот все встало на свое место. Спасибо.
Гражд., а что так трудно написать две строчки? |
|
Asher |
Отправлено: 11.11.2005, 10:58 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
Привет.
QUOTE | Гражд., а что так трудно написать две строчки? |
А прочесть самому труднее?
|
|
AntonGib |
Отправлено: 11.11.2005, 12:03 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 25
|
Мое мнение такое, что в первую очередь нодо определиться где и про что. Это же не VB, и уж точно не VBA, где все наглядно и понятно. А так с вашей помощью я осветил для себя этот вопрос. Я же не спрашиваю, что каждая обозначает и как работает.
|
|
vvoid |
Отправлено: 11.11.2005, 20:02 |
|
Машинист паровоза
Группа: Участник
Сообщений: 171
|
Ну уж не сказал бы, что в VBA прямо всё так просто и понятно. Точнее просто, но не всё понятно, как то я писал макрос для VisualC++, конечно это и заняло всего несколько часов, но я так и не смог проверить существует ли файл на диске. Если просто открывть — то всё виснет. Не подскажите, кстати как это сделать, уж больно хочется, чтоб Visual по Ctrl+F6 открывал соответствующий h-ник или с-шник.
PS Извиняюсь за оффтоп.
|
|
AntonGib |
Отправлено: 14.11.2005, 14:25 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 25
|
На VBA это будет выглядеть так:
Function isFile (fName as String) as Boolean
If (dir(fName<>" ")) Then
isFile=true
Else
isFile=false
End If
End Function
Ну вот, а дальше функцию используешь по назначению. Быстро, просто и без проблем. |
|