Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
xym4uk
0 / 0 / 0
Регистрация: 25.06.2012
Сообщений: 27
#1

не компилируется код в VS 2010 - C++

21.05.2013, 14:31. Просмотров 508. Ответов 12
Метки нет (Все метки)

есть такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <string.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{   setlocale(LC_ALL,"Russian");
    char cmd[128];                                  //указатель на строку для команды запуска второго процесса
  //проверяем аргументы командной строки
    if (argc!=1)                                    //если указан какой либо параметр, то первый параметр принимаем за имя
                                                    //второй программы
    strcpy_s(cmd,argv[1]);
    else strcpy_s(cmd,"slave.exe");                 //иначе по умолчанию будет использовано имя slave.exe
    int pid=GetCurrentProcessId();                  //получаем идентификатор текущего процесса
    sprintf(cmd+strlen(cmd)," %d",pid);             //выводим его на экран
    cout << "Master pid: " << pid << endl;
    cout << "Master: starting " << cmd << endl;
    //cout.flush();
    STARTUPINFO info;                               //описываем дополнительные структуры для хранения информации о запускаемом процессе
    PROCESS_INFORMATION pinfo;
    memset(&info,0,sizeof(info));                   //выделяем необходимую память для информационных структур
    info.cb=sizeof(info);
    //пытаемся запустить второй процесс
    if (!CreateProcess(NULL,
                        cmd,                        //командная строка запуска второго процесса
                        NULL,
                        NULL,
                        FALSE,
                        NORMAL_PRIORITY_CLASS,      //приоритет процесса
                        NULL,
                        NULL,
                        &info,
                        &pinfo))    
        {
        //в случае неудачи выводим сообщение об ошибке
        cout<<"Master: Slave процесс не запущен\n";
        cout<<"Master: проверьте правильность указания имени процесса в коммандной строке";
        return 1;
        }
    cout<<"Master: Sleeping\n";
    Sleep(15000);
    cout<<"Master: Exiting\n";
    return 0;
}
в Visual C++ 6.0 все компилируется и запускается.
В Visual Studio 2010 вываливается ошибка: "CreateProcessW: невозможно преобразовать параметр 2 из "char [128]" в "LPWSTR". что ему не нравится?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 14:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не компилируется код в VS 2010 (C++):

Не компилируется код в Visual C++ 2010 - C++
#include&quot;stdafx.h&quot; #include&quot;iostream&quot; #include&quot;conio.h&quot; usingnamespacestd; struct Data { unsigned day; ...

Компилируется в С++ bulder 6.0 но не компилируется в VS 2010 express - C++
Здравствуйте. есть небольшая программка которая с успехом компилируется в borland C++ builder 6.0 но не в какую не хочет компилироваться...

В формате .cpp код компилируется, а в .c не компилируется - C++
1).Подскажите почему в формате .cpp код компилируется, а в .c не компилируется 2). Как сделать так, чтобы компилировалось в .c? ...

Не компилируется в visual 2010 - C++
Простой код : #include &lt;iostream&gt; int main () { std :: cout &lt;&lt; &quot; privet &quot; &lt;&lt; std ::endl; return 0; } Код слизал с учебника. ...

Не компилируется в visual 2010 - C++
Простой код : #include &lt;iostream&gt; int main () { std :: cout &lt;&lt; &quot; privet &quot; &lt;&lt; std ::endl; return 0; } Код слизал с учебника. ...

Visual Studio 2010 (Не компилируется ни одна программа. Даже та,которую мастер создал автоматически!) - C++
Не компилируется ни одна программа. Даже та,которую мастер создал автоматически!Не знаю даже на что грешить,может проблема с подключением...

12
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 14:39 #2
В свойствах проекта убрать Юникод.
1
xym4uk
0 / 0 / 0
Регистрация: 25.06.2012
Сообщений: 27
21.05.2013, 14:55  [ТС] #3
спасибо, помогло. а не подскажете, где-то глобально можно выключить юникод и инкрементную компоновку?
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 15:04 #4
Если в свойствах проекта, то, наверное, это глобально для данного проекта.
0
xym4uk
0 / 0 / 0
Регистрация: 25.06.2012
Сообщений: 27
21.05.2013, 15:11  [ТС] #5
я имею ввиду, чтобы для новых проектов это дело все было отключено и не надо было в каждом выключать отдельно
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 15:26 #6
Без понятия.
0
Людвиг Бодмер
350 / 349 / 136
Регистрация: 29.03.2013
Сообщений: 862
Завершенные тесты: 4
21.05.2013, 16:27 #7
xym4uk, нужно выбрать Вид->Диспетчер свойств, развернуть узлы, выбрать одновременно в релиз и дебаг "Microsoft.cpp.<Platform>.users" и щелкнуть правой кнопкой мыши по ним и затем выбрать свойства, там выставить нужные свойства и сохранить эти пользовательские настройки
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 16:38 #8
Как ни странно, но там нет пункта: Набор символов.
1
Людвиг Бодмер
350 / 349 / 136
Регистрация: 29.03.2013
Сообщений: 862
Завершенные тесты: 4
21.05.2013, 17:20 #9
alsav22, да, вы правы, а я что-то и не посмотрел
0
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
21.05.2013, 17:29 #10
используйте TCHAR и не будет проблем
0
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 17:40 #11
Цитата Сообщение от SummerRain Посмотреть сообщение
используйте TCHAR и не будет проблем
Показали бы, как это в данном коде сделать.
0
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
21.05.2013, 18:00 #12
Цитата Сообщение от alsav22 Посмотреть сообщение
Показали бы, как это в данном коде сделать.
Окай
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <tchar.h>
 
using namespace std;
 
int main(int argc, _TCHAR *argv[])
{   setlocale(LC_ALL,"Russian");
    TCHAR cmd[128];                                  //указатель на строку для команды запуска второго процесса
  //проверяем аргументы командной строки
    if (argc!=1)                                    //если указан какой либо параметр, то первый параметр принимаем за имя
                                                    //второй программы
    _tcscpy(cmd,argv[0]);
    else _tcscpy(cmd,_T("slave.exe"));                 //иначе по умолчанию будет использовано имя slave.exe
    int pid=GetCurrentProcessId();                  //получаем идентификатор текущего процесса
    sprintf((char*)cmd+_tcslen(cmd)," %d",pid);             //выводим его на экран
    cout << "Master pid: " << pid << endl;
    cout << "Master: starting " << cmd << endl;
    //cout.flush();
    STARTUPINFO info;                               //описываем дополнительные структуры для хранения информации о запускаемом процессе
    PROCESS_INFORMATION pinfo;
    memset(&info,0,sizeof(info));                   //выделяем необходимую память для информационных структур
    info.cb=sizeof(info);
    //пытаемся запустить второй процесс
    if (!CreateProcess(NULL,
                        cmd,                        //командная строка запуска второго процесса
                        NULL,
                        NULL,
                        FALSE,
                        NORMAL_PRIORITY_CLASS,      //приоритет процесса
                        NULL,
                        NULL,
                        &info,
                        &pinfo))    
        {
        //в случае неудачи выводим сообщение об ошибке
        cout<<"Master: Slave процесс не запущен\n";
        cout<<"Master: проверьте правильность указания имени процесса в коммандной строке";
        system("PAUSE>0");
        return 1;
        }
    cout<<"Master: Sleeping\n";
    Sleep(15000);
    cout<<"Master: Exiting\n";
    system("PAUSE>0");
    return 0;
}
1
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 18:10 #13
Благодарю! Это дело.
0
21.05.2013, 18:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2013, 18:10
Привет! Вот еще темы с ответами:

Код не компилируется - C++
#include &lt;iostream&gt; #define _USE_MATH_DEFINES #include &lt;math.h&gt; double circle_area(int radius); using namespace std; int...

Не компилируется код - C++
#include &lt;QCoreApplication&gt; #include &lt;iostream&gt; using std::cout; using std::endl; int squareByValue(int); // прототип передача...

Код не компилируется - C++
не пойму, почему не компилируется #include &lt;iostream&gt; //#include &lt;new&gt; //#include &lt;cstdlib&gt; using namespace std; class loc{ ...

Не компилируется код - C++
я написал код проверял не компелирует почему-то пользуюсь dev c++ пишет проект или исходный файл не скомпелирован вот код #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru