Нет.
#define
- токен препроцессора: сам компилятор его никогда не увидит. typedef
- это токен компилятора: препроцессор не заботится об этом.
Вы можете использовать тот или иной эффект для достижения такого же эффекта, но лучше использовать его для ваших нужд
#define MY_TYPE int
typedef int My_Type;
Когда вещи становятся «волосатыми», использование правильного инструмента делает его правильным
#define FX_TYPE void (*)(int)
typedef void (*stdfx)(int);
void fx_typ(stdfx fx); /* ok */
void fx_def(FX_TYPE fx); /* error */
С точки зрения скорости лучший межплатформенный механизм IPC будет каналами. Это предполагает, однако желание межплатформенной IPC на той же машине. Если Вы захотите быть в состоянии говорить с процессами на удаленных машинах, Вы захотите посмотреть на использование сокетов вместо этого. К счастью, если Вы говорите о TCP, по крайней мере, сокеты и каналы ведут себя в значительной степени то же поведение. В то время как API для установки их и соединения их отличаются, они оба просто действуют как потоки данных.
трудная часть, однако, не является каналом передачи, но сообщениями, которые Вы передаете по нему. Вы действительно хотите посмотреть на что-то, что выполнит проверку и анализирующий для Вас. Я рекомендую смотреть на Google Буферы Протокола . Вы в основном создаете файл спецификации, который описывает объект, который Вы хотите передать между процессами, и существует компилятор, который генерирует код на многих различных языках для чтения и записи объектов, которые соответствуют спецификации. Это намного легче (и меньше склонной ошибки), чем попытка придумать обменивающийся сообщениями протокол и синтаксический анализатор самостоятельно.
Python имеет довольно хорошую библиотеку IPC: см. https://docs.python.org/2/library/ipc.html
Это не становится более простым, чем использование каналов, которые поддерживаются на каждой ОС, которую я знаю и могу быть получен доступ на в значительной степени каждом языке.
Выезд этот учебное руководство.
Распределенные вычисления обычно сложны, и Вам целесообразно пользоваться существующими библиотеками или платформами вместо того, чтобы перестроить колесо. Предыдущий плакат уже перечислил несколько этих библиотек и платформ. В зависимости от Ваших потребностей можно выбрать любого очень низкий уровень (как сокеты) или платформа высокого уровня (как CORBA). Не может быть универсального "использования этот" ответ. Вы должны узнать о распределенном программировании и затем найдете намного легче выбрать правильную библиотеку или платформу для задания.
Там существует дико используемая платформа C++ для распределенных вычислений, названных ACE и ДАО ШАРА CORBA (который является buildt на ACE). Там существуйте очень хорошие книги о ACE http://www.cs.wustl.edu/~schmidt/ACE/, таким образом, Вы могли бы смотреть.Береги себя!
Если Вы готовы попробовать что-то немного различное, существует платформа ICE от ZeroC. Это - открытый исходный код и поддерживается на в значительной степени каждой ОС, о которой можно думать, а также поддержка языка наличия C++, C#, Java, Ruby, Python и PHP. Наконец, очень легко управлять (отображения языка адаптируются для установки естественно каждому языку). Это также быстро и эффективно. Существует даже усеченная версия для устройств.
Я думаю, что Вы захотите что-то на основе сокетов.
, Если бы Вы хотите RPC, а не просто IPC, я предложил бы что-то как XML-RPC/SOAP, который работает на основе HTTP и может использоваться с любого языка.
Как насчет Экономия Facebook ?
Экономия является платформой программного обеспечения для масштабируемой межъязыковой сервисной разработки. Это комбинирует программный стек с механизмом генерации кода для создания сервисов, которые работают эффективно и беспрепятственно между C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Какао, Smalltalk и OCaml.
Вы могли бы хотеть попробовать YAMI, это очень просто все же функциональное, портативное и идет с привязкой к немногим языкам
Почему не D-шина? Это - очень простая система передачи сообщений, которая работает почти на всех платформах и разработана для устойчивости. Это поддерживается в значительной степени каждым языком сценариев в этой точке.
Для C++ проверьте IPC Повышения.
можно, вероятно, создать или найти некоторую привязку для языков сценариев также.
Иначе, если действительно важно быть в состоянии взаимодействовать через интерфейс с языками сценариев, Ваш лучший выбор состоит в том, чтобы просто использовать файлы, каналы или сокеты или даже высокоуровневую абстракцию как HTTP.
YAMI - Еще одна инфраструктура обмена сообщениями - это легкая система обмена сообщениями и сетью.