2016-09-22 2 views
1

Существует ли элегантный способ совместного использования общего определения символов между проектом Delphi и C++ (Visual Studio)?Совместное определение между проектами Delphi и C++

Символ может быть определен или не определен в зависимости от обстоятельств. Очевидно, можно просто определить символ в обоих проектах, но вы можете прокомментировать его в одном проекте и забыть об этом в другом (или наоборот).

Если это возможно, я предполагаю, что символ должен быть помещен в файл .h или .inc и включен в оба проекта.

// Delphi 
{$DEFINE COMMON_SYMBOL} 
//... 
SOME_CONSTANT = {$IFDEF COMMON_SYMBOL} 80 {$ELSE} 40 {$ENDIF}; 

// C++ 
#define COMMON_SYMBOL 
//... 
#ifdef COMMON_SYMBOL 
    #define SOME_CONSTANT 80 
#else 
    #define SOME_CONSTANT 40 
#endif 

В приведенном выше коде, если COMMON_SYMBOL определено, то SOME_CONSTANT 80, в противном случае это 40.

+0

Возможно, этого было бы достаточно, чтобы определить SOME_CONSTANT с общими конкретными значениями в обоих проектах одновременно? Это было бы легко ... Но условное определение символов препроцессора через предварительный процессор не является –

+0

Я не уверен, как это будет работать, потому что два компилятора и IDE совершенно разные (Embarcadero и Microsoft). – AlainD

+0

Ухм ... это не разные вендоры, что делает это тяжело. Это факт, что вы имеете дело с двумя разными ** языками программирования **. У вас будет такая же проблема при совместном использовании кода между C++ и F #, даже при использовании компиляторов, произведенных одним и тем же поставщиком. – IInspectable

ответ

1

Вот некоторые ссылки, которые могут помочь:

  • Если вам нужно конвертировать Заголовок C++ файлов на Delphi вы можете попробовать JEDI API Library.
  • Если вам необходимо конвертировать Delphi источников в Файлы заголовков C++ вам может понадобиться создать такую ​​утилиту самостоятельно. Я думаю, DelphiAST может быть хорошим началом для этого.