के साथ सी ++ में मैक्रो फ़ंक्शंस दस्तावेज करना मैं डॉक्सिजन का उपयोग करके सी ++ में मैक्रो फ़ंक्शन कैसे दस्तावेज़ित करता हूं, और इसे मेरे गैर-एविल कोड के दस्तावेज़ में संदर्भित करता हूं?डॉक्सिजन
अधिक विशेष रूप से, मेरे पास संदेश में परिभाषित "संदेश" नामक कुछ नियमित कक्षा है। उपयोगकर्ता जो अपने संदेश को परिभाषित करने के लिए उत्तराधिकारी हो सकते हैं। एक और फाइल "(MessageHelpers.H") में मैं इस तरह एक पागल मैक्रो है:
//! Users must call this macro to register their messages...
/*!
...lest they be forced to type all sorts of boring and
error-prone boiler plate code.
blah blah blah... More specific documentation and explanation...
*/
#define REGISTER_MESSAGE_TYPE(MSGTYPE) \
do_some(MSGTYPE); \
seriously(); \
crazy_stuff(MSGTYPE);
संदेश के लिए दस्तावेज़ में, मैं इसे प्यार करता है अगर वाक्यांश "REGISTER_MESSAGE_TYPE" स्वचालित रूप से करने के लिए एक कड़ी और बिंदु बन सकता है मेरी मैक्रो के लिए प्रलेखन। जैसे
//! A cool message class
/*!
Users can inherit from this class to create their own cool messages.
Just be sure to call REGISTER_MESSAGE_TYPE after your class definition!
*/
class Message
{
virtual void doSomeStuff();
};
क्या यह संभव है?
यह मेरे लिए काम नहीं करता है .. मैंने यहां उदाहरण से एबीएस मैक्रो की प्रतिलिपि बनाने की कोशिश की http://www.stack.nl/~dimitri/doxygen/autolink.html लेकिन कोई दस्तावेज उत्पन्न नहीं हुआ था, और संदर्भ मेरा कोड "# एबीएस (एक्स)" लिंक नहीं किया था। मुझे अपनी कॉन्फ़िगरेशन फ़ाइल में कुछ गलत करना होगा? – rcv
मुझे नहीं पता कि यह आपका मुद्दा है, लेकिन यह सुनिश्चित करें कि आप फ़ाइल को कहीं भी मैक्रो परिभाषित करते हैं। या तो कोशिश करें! \ file */या/** @file * /, और देखें कि क्या डॉक्सिजन ने कोई चेतावनी उत्पन्न की है। स्रोत http://www.stack.nl/~dimitri/doxygen/docblocks.html "वैश्विक वस्तुओं" के लिए खोज रहा है। (संपादित करें - स्लैश स्टार वर्ण काम नहीं करते थे, लेकिन वे बहु-पंक्ति टिप्पणी मार्कर होना चाहिए) – Guerrero
हाँ, मेरे पास एक/* है! @file filename.h विवरण ... */प्रत्येक फ़ाइल के शीर्ष पर .. यह दिलचस्प है कि मेरी मैक्रो परिभाषा मेरे MessageHelpers.H प्रलेखन में दिखाई नहीं दे रही है। – rcv