Mam C++ kod, który oczekuje, że to wiersz polecenia, aby wyglądać tak:Eclipse & cytuje argumenty wiersza poleceń?
/ścieżka/do/exe -p: ParameterName = "[/ ścieżka/a/file /,/ścieżka/do/inna/plik] "
w tym cudzysłowy. Mogą to być pojedyncze lub podwójne cudzysłowy, ale muszą tam być. W Eclipse, jeśli ustawię argumenty wiersza poleceń (Debuguj konfiguracje/Argumenty) i wpisz powyższą opcję wiersza poleceń (minus/ścieżka/do/exe) Eclipse spożywa cytaty. Ponieważ używam tego w Linuksie, nawiasy kwadratowe dają żal skorupy i nigdy nie wchodzą do mojego kodu.
Jeśli skonfigurować wiersz poleceń args tak:
"To jest cytowany"
argv [1] wygląda następująco:
ten jest cytowany
czyli bez cudzysłowów . Jeśli skonfigurować wiersz polecenia w następujący sposób:
\ „to jest cytowany \”
uzyskać:
argv[1]: "this
argv[2]: is
argv[3]: quoted"
jeśli staram się umieścić w nawiasach kwadratowych w to sięga dając muszlę żal, nawet jeśli staram się im uciec:
\"\[this is quoted\]\"
jak powiedzieć Eclipse wziąć moje argumenty wiersza poleceń dokładnie jak już wszedł je?
Dzięki
Nie miałem, ale właśnie zrobiłem. Dobra próba, ale nadal nie jestem tym, za czym jestem. Zauważyłem, że w oknie konsoli "gdb ślady" pokazuje mi rozmowę Eclipse z gdb i tam widzę, że wydało to polecenie: –
(Przepraszam - moja zmiana została przerwana)
Nie miałem, ale właśnie zrobiłem. Dobra próba, ale nadal nie jestem tym, za czym jestem. Zauważyłem, że w oknie "gdb trace" Console pokazuje mi rozmowę Eclipse z gdb i tam widzę, jak wydobywa "set args" \ "\\ [to jest cytowane \\] \" ". Rozumiem, że powłoka interpretuje nawiasy bez znaków ucieczki, ale to Eclipse zmienia to, co powiedziałem, aby użyć jako wiersza poleceń. Jeśli wprowadzę ten sam tekst na prawdziwym wierszu poleceń, działa on zgodnie z oczekiwaniami - bez cudzysłowów w argv, ale nawiasy są niezmienione. –
@ g-makulik: Wierzę, że to jest problem zaćmienia/CDT. Wpadłem na ten problem w Linuksie GTK i Eclipse Indigo. Podwójne cudzysłowy wokół argumentów programu ze spacjami wprowadzonymi do zakładki argumentów konfiguracji debugowania CDT nie są poprawnie ustawione przez eclipse/MI, gdy set-args przez gdb. Musisz używać pojedynczych cudzysłowów. Ponadto jest tu wątek, który mówi, że nawet to nie działa w systemie Windows: http://www.eclipse.org/forums/index.php/t/175270/ Otrzymuję poprawne zachowanie, uruchamiając program z powłoki Bash, ale nie z Zrzut ekranu debugowania zaćmienia. – timblaktu