यह मेरा पहला समय है और मैं विंडोज CreateProcess फ़ंक्शन का उपयोग करके समांतर प्रक्रिया बनाना चाहता हूं। मैं इस तरहत्रुटि C3861: '_tcsdup': पहचानकर्ता नहीं मिला
LPTSTR szCmdline[] = _tcsdup(TEXT("\C:\\MyProgram_linux_1.1\\MyProgram.exe"));
LPTSTR एक LPTSTR
"(non-const) TCHAR string"command line तर्क और अन्य char and string types are discussed here
कमांड लाइन तर्क बनाया MSDN पर उदाहरण के आधार पर इस
if (!CreateProcess(NULL, szCmdline, /*...*/)) cout << "ERROR: cannot start CreateProcess" << endl;
और इन हेडर की तरह CreateProcess
को पारित कर दिया है मौजूद हैं
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <strsafe.h>
#include <direct.h>
संकलन इस पर त्रुटि है:
error C3861: '_tcsdup': identifier not found
इस त्रुटि के लिए एक खोज error C3861: '_tcsdup'
सुनिश्चित नहीं समझा अगर यह संबंधित के बजाय पाया the same error but the solution was specific to using a .NET framework लेकिन वहां भी if (!CreateProcess(NULL, szCmdline, /*...*/)) cout << "ERROR: cannot start CreateProcess" << endl;
पर एक error C2059: syntax error : ')'
है यह त्रुटि कैसे तय की जाती है? और, इसके साथ क्या चल रहा है?
इसके अलावा, मैं CreateProcess
as a learning step towards learning the Linux fork()
समारोह का उपयोग कर रहा - दृश्य स्टूडियो इंटरफेस आसान मुझे इस्तेमाल करने के लिए है और एक बार इस डिबग और काम करता है, मैं जी ++ इंटरफ़ेस करने के लिए वहाँ से डिबग बदल सकते हैं और fork()
के लिए बदल जाएगा और - तो एक समाधान यदि संभव हो तो fork()
की ओर जाता है, यह सबसे फायदेमंद है।
आप की जरूरत करने के लिए '# शामिल' (या '_tcsdup' को 'strdup' में बदलें और' टी' मैक्रोज़ का उपयोग करना बंद करें)। –
वाह ... आप 'फोर्क' सीखने के लिए 'CreateProcess' का उपयोग कर रहे हैं? क्यों न सिर्फ 'कांटा' सीखें? ये बहुत अलग जानवर हैं। – nneonneo
एकमात्र चीज 'फोर्क' और 'CreateProcess' में आम बात यह है कि वे दोनों कार्य हैं ...' CreateProcess' के साथ टंकण करना 'फोर्क' को समझने में आपकी मदद करने की संभावना है, फ्रेंच सीखने में आपकी मदद करने की संभावना है जापानी । –