информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft Authenticator прекращает... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[C++] Может удастся использовать __LINE__ ? 16.01.03 19:42  Число просмотров: 1035
Автор: Green Статус: Незарегистрированный пользователь
<"чистая" ссылка>
>_COUNTER_есть в GCC кажеться с 2.7.3, в Microsoft C++
> 13.0 (VC 7.0) и в Intel C++ 7.0
> Реализован он внутри компилятора, и "эмулировать" по
> другому не получится.
>
> Может удастся использовать_LINE_?

Пришлось использовать_LINE_

#define UNIQ2(pref,line) pref##line
#define UNIQ1(pref,line) UNIQ2(pref,line)
#define UNIQ(pref) UNIQ1(pref_LINE_
<programming>
[c++] как реализован макрос __counter__ ? 16.01.03 13:04  
Автор: Green Статус: Незарегистрированный пользователь
<"чистая" ссылка>
В VC7.0 есть макрос_COUNTER_
Во всяком случае так сказано в MSDN.
Под рукой нет VC7.0, работаю в VC6.0, а макрос нужен.
Подскажите, как реализован этот макрос. Если можно, то прямо кусок его кода.
Или же подскажите, как др. образом генерить уникальные имена при предкомпиляции?
[C++] Может удастся использовать __LINE__ ? 16.01.03 19:37  
Автор: leo <Леонид Юрьев> Статус: Elderman
<"чистая" ссылка>
_COUNTER_есть в GCC кажеться с 2.7.3, в Microsoft C++ 13.0 (VC 7.0) и в Intel C++ 7.0
Реализован он внутри компилятора, и "эмулировать" по другому не получится.

Может удастся использовать_LINE_?
[C++] Может удастся использовать __LINE__ ? 16.01.03 19:42  
Автор: Green Статус: Незарегистрированный пользователь
<"чистая" ссылка>
>_COUNTER_есть в GCC кажеться с 2.7.3, в Microsoft C++
> 13.0 (VC 7.0) и в Intel C++ 7.0
> Реализован он внутри компилятора, и "эмулировать" по
> другому не получится.
>
> Может удастся использовать_LINE_?

Пришлось использовать_LINE_

#define UNIQ2(pref,line) pref##line
#define UNIQ1(pref,line) UNIQ2(pref,line)
#define UNIQ(pref) UNIQ1(pref_LINE_
[C++] Скорее всего никак 16.01.03 15:40  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> В VC7.0 есть макрос_COUNTER_
> Во всяком случае так сказано в MSDN.
> Под рукой нет VC7.0, работаю в VC6.0, а макрос нужен.
> Подскажите, как реализован этот макрос. Если можно, то
> прямо кусок его кода.
> Или же подскажите, как др. образом генерить уникальные
> имена при предкомпиляции?

У меня тоже нет VC7 - го. Вот строчка из MSDN-а:
Microsoft-Specific Predefined Macros

Macro Description 
__COUNTER__:  Expands to an integer starting with 0 and incrementing by 1 every time it is used  

---
Короче, это предопределенный макрос (типа_DATE__FILE_и т.д.) и раскрывается самым компилером, а реализовать счетчик стандартными C-шными или C++-нутыми средствами невозможно. Везде, где мне надо было уникальное имя я или использовал комбинацию предопределенных макросов, определенных для этой версии. В частности в большинстве случаев проект можно написать так, чтоб работал макрос_LINE_ Для этого можно все файлы в которых нужно будет раскрытие уникального имени начинать с #line xxx, где xxx отодвигать для каждого проекта на дцать.
Но сам я просто определял макрос с параметром и не ленился передавать уникальный номер вручную
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach