powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Перенесение кода с Visual C++ на g++
4 сообщений из 4, страница 1 из 1
Перенесение кода с Visual C++ на g++
    #32653745
Артем Иванов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет,

Я пишу cross-платформенное (консольное) приложение и столкнулся со следующей проблемой, мой код идеально компилируется в Visual C++ но g++ мне выдает ошибку (вернее их куча, но они идентичные нижеприведенной)
Никаких проблем с непереносимыми функциями у меня нет (все идеально совместимо как с Windows так и с UNIX), но есть куча условностей и разностей в синтаксисе казалось бы стандартизированного С++

Код у меня примерно следующий (он довольно комплексный но пример исчерпывающий)

#define TRY try{
#define CATCH(X) }catch(...){errorstr+="called in - ";errorstr+=X+string(" ");throw;}
#define BEGINSTAT clock_t beginstattime=::clock();
#define ENDSTAT(X) {unsigned int commontime=::clock()-beginstattime;PowerLog(ARGV_PATH_CGI+"performance.log",X##" execution time",commontime,10,true);}

...(далее еще куча всего)

unsigned int DBManagerObject::GetNewMessageId()
{
TRY
#ifdef PERFORMANCE_STAT
BEGINSTAT
#endif

unsigned int id;
FILE* file=fopen(MESSAGESTABLE.c_str(),"r+b");
fread(&id,sizeof(unsigned int),1,file);
fclose(file);

#ifdef PERFORMANCE_STAT
ENDSTAT("GetNewMessageId")
#endif
return ++id;
CATCH("GetNewMessageId")
}

Подскажите мне пожалуйста что хочет сказать g++ выдавая следующую ошибку,-

db.cpp:139:54: pasting ""DBManagerObject::GetNewMessageId"" and "" execution time"" does not give a valid preprocessing token

Я так понимаю вся проблема в макросе:
define ENDSTAT(X) {unsigned int commontime=::clock()-beginstattime;PowerLog(ARGV_PATH_CGI+"performance.log",X##" execution time",commontime,10,true);}
(где PowerLog просто созданный мною класс, но это неважно)

Заранее огромное спасибо за любую помощь
...
Рейтинг: 0 / 0
Перенесение кода с Visual C++ на g++
    #32653796
nik_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего что-то связанное с мелкософт специфик и "execution time"
...
Рейтинг: 0 / 0
Перенесение кода с Visual C++ на g++
    #32653875
miniСЛОН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может ему не нравиться вот это:
Артем Иванов, X##" execution time",...
точнее он думает что это препроцессорная команда, потому что начинается с #
...
Рейтинг: 0 / 0
Перенесение кода с Visual C++ на g++
    #32653878
miniСЛОН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да и я тоже не понимаю что бы это значило.
Не объясните? может я чего не знаю
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Перенесение кода с Visual C++ на g++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]