2012-02-29 8 views
7

पर syslog.h नहीं ढूंढ सकता है मैं एक सी प्रोग्राम को फिर से लिख रहा हूं जिसका उपयोग लिनक्स में किया गया था, अब मैं इसे विंडोज़ पर पुन: उपयोग करूँगा, मैं एक बैट फ़ाइल लिखता हूं। मैं इस फ़ाइल को व्यवस्थापक के रूप में चलाता हूं, फिर त्रुटि होती है: syslog.h: ऐसी कोई फ़ाइल या निर्देशिका नहीं।विंडोज

क्या आप मुझे कुछ सलाह दे सकते हैं? धन्यवाद।

उत्तर

7

शायद प्रोग्राम जो आप विंडोज़ पर पोर्ट कर रहे हैं वह syslog (3) फ़ंक्शन कॉल (ओपनलॉग और क्लोजलॉग के अतिरिक्त) का उपयोग करता है। इन्हें यूनिक्स पर syslog.h में परिभाषित किया गया है। विंडोज़ में ये नहीं हैं, इसलिए आप निम्न कार्य कर सकते हैं:

  • syslog.h को हटाएं और ये फ़ंक्शन कोड से कॉल करें।
  • syslog.h बनाएं और इन कॉल को लागू करें या उन्हें खाली मैक्रोज़ के रूप में परिभाषित करें।
  • साइगविन का उपयोग करें जो POSIX संगतता प्रदान करता है।
+0

बहुत बहुत धन्यवाद b0ti – diligent

2

विंडोज एक अंतर्निहित syslog क्लाइंट प्रदान नहीं करता है। आप किसी तृतीय-पक्ष लाइब्रेरी का उपयोग करने में सक्षम हो सकते हैं, जैसे http://syslog-win32.sourceforge.net

+0

धन्यवाद ग्रेग, मैं syslog-win32-0.3.tar.bz2 डाउनलोड exe प्रारूप नहीं। मैं इसे अनजिप करता हूं, लेकिन इसमें बहुत सारी फाइलें हैं, मुझे कहां से शुरू करना चाहिए, मैं इस उपकरण का उपयोग कैसे कर सकता हूं? धन्यवाद। – diligent

+0

मुझे नहीं पता, मैंने इसका कभी भी उपयोग नहीं किया है। मैंने अभी "win32 syslog क्लाइंट" के लिए Google की खोज की है और यह चालू है। –

+0

वही ग्रेग धन्यवाद। – diligent

0

PHP source code में आप विंडोज फ़ंक्शन ReportEvent() पर आधारित एक रैपर पा सकते हैं।

उदा .: पर wsyslog.c और syslog.h

संपादित एक बार देख ले: यदि आप syslog-server की कोशिश की?

+0

@JeremiahGowdy मैं आपकी टिप्पणी से सहमत हूं और जवाब अपडेट कर चुका हूं। आप मेरे रेफ्रेज़ के बारे में क्या सोचते हैं? आप अपनी पिछली टिप्पणी हटा सकते हैं। चियर्स – olibre

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^