C++
Üzerinde düzgün çalışması için C yuva API alma sorunları yaşıyorum z/OS
.
Ben dahil olmasına rağmen sys/socket.h
, hala tanımlı olmadığını söyleyen derleme zamanı hataları alıyorum .AF_INET
Açık bir şey mi kaçırıyorum, yoksa bu, z/OS
sorunumun daha karmaşık hale gelmesi ile mi ilgili?
Güncelleme : Daha fazla araştırma yapıldığında, #ifdef
vurduğum bir şey olduğunu keşfettim . Birlikte z/OS
kullandığım soketlerin "tipini" tanımlayana kadar mutlu değiller:
#define _OE_SOCKETS
Şimdi, kişisel olarak bunun ne için olduğu hakkında hiçbir fikrim yok _OE_SOCKETS
, bu yüzden eğer herhangi bir z/OS
soket programcısı dışarıdaysa (3ünüz), belki de bana bunların nasıl çalıştığına dair bir özet verebilir misiniz?
Test Uygulaması
#include <sys/socket.h>
int main()
{
return AF_INET;
}
Derleme / Bağlantı Çıktısı:
cxx -Wc,xplink -Wl,xplink -o inet_test inet.C
"./inet.C", line 5.16: CCN5274 (S) The name lookup for "AF_INET" did not find a declaration.
CCN0797(I) Compilation failed for file ./inet.C. Object file not created.
Sys / sockets.h denetimi, ihtiyacım olan tanımı içerir ve anlayabildiğim kadarıyla, herhangi bir #ifdef
ifade tarafından engellenmez .
Ancak aşağıdakileri içerdiğini fark ettim:
#ifdef __cplusplus
extern "C" {
#endif
hangi temelde tüm dosyayı içine alır? Önemli olup olmadığından emin değilim.