আমার কাছে একটি সি ++ গ্রন্থাগার রয়েছে যা ডেটা পরিচালনা করার জন্য বিভিন্ন ক্লাস সরবরাহ করে। আমার কাছে লাইব্রেরির উত্স কোড রয়েছে।
আমি সি ফাংশন কলগুলি সমর্থন করতে সি ++ এপিআই প্রসারিত করতে চাই যাতে গ্রন্থাগারটি একই সাথে সি কোড এবং সি ++ কোডের সাথে ব্যবহার করা যায়।
আমি জিএনইউ সরঞ্জাম চেইন (জিসিসি, গ্লিবসি, ইত্যাদি) ব্যবহার করছি, সুতরাং ভাষা এবং আর্কিটেকচার সমর্থন কোনও সমস্যা নয়।
প্রযুক্তিগতভাবে এটি সম্ভব না হওয়ার কোনও কারণ রয়েছে কি ?
থেকে থাকে gotcha এ আমি জন্য সতর্ক দরকার?
এর সাথে কি সম্পদ, উদাহরণ কোড এবং / অথবা ডকুমেন্টেশন উপলব্ধ?
আরও কিছু জিনিস যা আমি জানতে পেরেছি:
- আপনার সি ++ শিরোনামগুলি মোছার জন্য নিম্নলিখিতটি ব্যবহার করুন যা সি কোড দ্বারা ব্যবহার করা দরকার।
#ifdef __cplusplus
extern "C" {
#endif
//
// Code goes here ...
//
#ifdef __cplusplus
} // extern "C"
#endif
- সি দ্বারা অন্তর্ভুক্ত নেই এমন পৃথক শিরোনাম ফাইলগুলিতে "আসল" সি ++ ইন্টারফেস রাখুন পিএমপিএল নীতিটি এখানে ভাবুন ।
#ifndef __cplusplus #error
স্টাফ ব্যবহার করা যেকোন উন্মত্ততা সনাক্ত করতে এখানে সহায়তা করে। - সি কোডে নাম হিসাবে সি ++ শনাক্তকারীদের যত্নবান
- সি এবং সি ++ সংকলকগুলির মধ্যে আকারে পৃথক এনামগুলি। আপনি যদি জিএনইউ সরঞ্জাম চেইন ব্যবহার করছেন তবে সম্ভবত কোনও সমস্যা নয় তবে সতর্কতা অবলম্বন করুন।
স্ট্রাইকগুলির জন্য নিম্নলিখিত ফর্মটি অনুসরণ করুন যাতে সি বিভ্রান্ত না হয়।
typedef struct X { ... } X
তারপরে সি ++ অবজেক্টগুলির কাছাকাছি যাওয়ার জন্য পয়েন্টারগুলি ব্যবহার করুন, সেগুলি কেবলমাত্র স্ট্রাক্ট এক্স হিসাবে সিতে ঘোষণা করতে হবে যেখানে এক্স হ'ল সি ++ অবজেক্ট।
এই সমস্ত কিছুই বন্ধুর সৌজন্যে যিনি সি ++ এ উইজার্ড।