簡體   English   中英

查詢集成Fortran和C ++代碼

[英]Query integrating Fortran and C++ code

我正在嘗試將一些C ++代碼集成到Fortran中。 我懷疑類型之間的等價性,

是Fortran 整數* 1相當於C ++ bool ?¿如果沒有,那么正確的C ++等價類型是什么?¿

非常感謝你提前!

引用此鏈接

INTEGER(1)類型應該用於大型數組,當內存對於變量而言是非常重要的,這些變量只有-129到127范圍內的正,負和零整數值。

所以,我會說它的C/C++等價物是一個signed char 相當於bool是Fortran的logical類型。

編輯:MSB的答案比我的好; 做他建議的事情會更好。

最好的辦法是使用Fortran ISO_C_Binding,它提供與C類型匹配的類型。 該方法與編譯器和平台無關。 我對C ++類型不太確定,但是如果你確定它們的C等價物就應該是好的。 ISO_C_Binding提供Fortran類型C_BOOL以匹配C類型_Bool。 綁定提供了一長串等效類型。 列表出現的一個地方是gfortran手冊的“內在模塊”一章。 另請參閱“混合語言編程”一章。 雖然我引用了gfortran手冊,但作為Fortran 2003語言標准的一部分,這些功能並不特定於該編譯器。

PS評論建議使用int8_t。 Fortran端與ISO C綁定的匹配類型是C_INT8_T。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM