আমি বিষয়ে সঠিকভাবে কাজ করার জন্য সি সকেট এপিআই পেয়ে হচ্ছে C++
উপর z/OS
।
যদিও আমি অন্তর্ভুক্ত করছি sys/socket.h
, আমার এখনও পেতে কম্পাইল সময় ত্রুটি আমাকে বলছে যে AF_INET
সংজ্ঞায়িত করা হয় না ।
আমি কি স্পষ্ট কিছু মিস করছি, বা এটি কি এই সম্পর্কিত যে z/OS
আমার সমস্যাগুলি আরও জটিল করে তোলে?
আপডেট : আরও তদন্তের পরে, আমি আবিষ্কার করেছি যে এখানে একটি #ifdef
হিট করছি। দৃশ্যত z/OS
খুশি হয় না যতক্ষণ না আমি কোন "ধরণের" সকেট ব্যবহার করছি তার সাথে:
#define _OE_SOCKETS
এখন এটি আমার পক্ষে ব্যক্তিগতভাবে কোনও ধারণা নেই _OE_SOCKETS
, সুতরাং যদি কোনও z/OS
সকেট প্রোগ্রামার বাইরে থাকে (আপনারা তিনজনই), সম্ভবত আপনি আমাকে কীভাবে এই সমস্ত কাজ করে তার একটি রুনডাউন দিতে পারেন?
পরীক্ষা অ্যাপ
#include <sys/socket.h>
int main()
{
return AF_INET;
}
সংকলন / লিঙ্ক আউটপুট:
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.
সিস / সকেটস.এর একটি চেকের মধ্যে আমার সংজ্ঞাটি অন্তর্ভুক্ত রয়েছে এবং যতদূর আমি বলতে পারি এটি কোনও #ifdef
বিবৃতি দ্বারা অবরুদ্ধ করা হচ্ছে না ।
তবে আমি এটিতে নিম্নলিখিতটি লক্ষ্য করেছি:
#ifdef __cplusplus
extern "C" {
#endif
মূলত পুরো ফাইলটি এনক্যাপুলেট করে কোনটি? এটি গুরুত্বপূর্ণ কিনা তা নিশ্চিত নয়।