Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 19.08.2015
Сообщений: 93

На каком языке написана программа на Си или С++?

03.05.2017, 17:00. Показов 3284. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В среде Visual C++ было создано оконное приложение (Файл->Новый->Проекты->Win32 Application, далее: Файл->Новый->Файлы ->C++Source File ). Как определить к какому языку относится это приложение к Си или С++?
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/*WinAPI приложение. Минимальный 
набор функций для отображения окна. 
Эта программа станет базовой заготовкой для всех последующих программ*/ 
 
#include <windows.h>
 
//Создаём прототип функции окна 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); 
//объявляем имя программы 
char szProgName[]="Имя программы"; 
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow) 
{ 
HWND hWnd; //идентификатор окна 
MSG lpMsg; 
 
WNDCLASS w; //создаём экземпляр структуры WNDCLASS и начинаем её заполнять 
 
w.lpszClassName=szProgName; //имя программы 
w.hInstance=hInstance; //идентификатор текущего приложения 
w.lpfnWndProc=WndProc; //указатель на функцию окна 
w.hCursor=LoadCursor(NULL, IDC_ARROW); //загружаем курсор в виде стрелки 
w.hIcon=0; //иконки у нас не будет пока 
w.lpszMenuName=0; //и меню пока не будет 
w.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); //цвет фона окна - белый 
w.style=CS_HREDRAW|CS_VREDRAW; //стиль окна - перерисовываемое по х и по у 
w.cbClsExtra=0; 
w.cbWndExtra=0; 
 
//Если не удалось зарегистрировать класс окна - выходим 
if(!RegisterClass(&w)) 
return 0; 
 
//Создадим окно в памяти, заполнив аргументы CreateWindow 
 
hWnd=CreateWindow(szProgName, //Имя программы 
"Моя первая программа! ", //Заголовок окна 
WS_OVERLAPPEDWINDOW, //Стиль окна - перекрывающееся 
100, //положение окна на экране по х 
100, //по у 
500, //размеры по х 
400, //по у 
(HWND)NULL, //идентификатор родительского окна 
(HMENU)NULL, //идентификатор меню 
(HINSTANCE)hInstance, //идентификатор экземпляра программы 
(HINSTANCE)NULL); //отсутствие дополнительных параметров 
 
//Выводим окно из памяти на экран 
ShowWindow(hWnd, nCmdShow); 
//Обновим содержимое окна 
UpdateWindow(hWnd); 
 
//Цикл обработки сообщений 
 
while(GetMessage(&lpMsg, NULL, 0, 0)) { //Получаем сообщение из очереди 
TranslateMessage(&lpMsg); //Преобразуем сообщения клавиш в символы 
DispatchMessage(&lpMsg); //Передаём сообщение соответствующей функции окна 
} 
return(lpMsg.wParam); 
} 
 
//Функция окна 
LRESULT CALLBACK WndProc(HWND hWnd, UINT messg, 
WPARAM wParam, LPARAM lParam) 
{ 
HDC hdc; //создаём контекст устройства 
PAINTSTRUCT ps; //создаём экземпляр структуры графического вывода 
 
//Цикл обработки сообщений 
switch(messg) 
{ 
//сообщение рисования 
case WM_PAINT : 
//начинаем рисовать 
hdc=BeginPaint(hWnd, &ps); 
//здесь вы обычно вставляете свой текст: 
TextOut(hdc, 150,150, "Здравствуй, WIN 32 API!!!!", 26); 
//закругляемся 
//обновляем окно 
ValidateRect(hWnd, NULL); 
//заканчиваем рисовать 
EndPaint(hWnd, &ps); 
break; 
 
//сообщение выхода - разрушение окна 
case WM_DESTROY: 
PostQuitMessage(0); //Посылаем сообщение выхода с кодом 0 - нормальное завершение 
break; 
 
default: 
return(DefWindowProc(hWnd, messg, wParam, lParam)); 
} 
return 0; 
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.05.2017, 17:00
Ответы с готовыми решениями:

На каком языке написана программа Надо перевести на С++ или объяснить что тут происходит по пунктам
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

На каком языке написана программа?
на каком это языке написано? #include &quot;utypes.h&quot; #include &quot;gtbitio.h&quot; #include &quot;sf.h&quot; #include &lt;stdio.h&gt; #include...

На каком языке написана программа?
в просторах интернета нашел очень интересную программу, которая может разрешать и запрещать доступ USB. На каком языке написано и как можно...

10
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
03.05.2017, 17:05
Цитата Сообщение от usit Посмотреть сообщение
Как определить к какому языку относится это приложение к Си или С++?
К любому из них, либо ни к одному.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
03.05.2017, 17:06
Это не С и не С++, это WinAPI.
0
807 / 534 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
03.05.2017, 17:10
ждем убежденного...
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
03.05.2017, 17:56
[zanuda mode on]
Берём си-шный компилятор и пробуем скомпилировать. Не получилось - значит с++.
[zanuda mode off]

Похоже на си.
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
03.05.2017, 18:21
Рыжий Лис, а если оно не будет компилироваться и компилятором C++?
0
807 / 534 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
03.05.2017, 18:22
Рыжий Лис, впервые вижу такие теги)
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.05.2017, 18:26
Цитата Сообщение от usit Посмотреть сообщение
В среде Visual C++ было создано оконное приложение (Файл->Новый->Проекты->Win32 Application, далее: Файл->Новый->Файлы ->C++Source File )
Цитата Сообщение от usit Посмотреть сообщение
Как определить к какому языку относится это приложение к Си или С++?
Цитата Сообщение от usit Посмотреть сообщение
C++Source File
Цитата Сообщение от usit Посмотреть сообщение
C++
очевидно жеж - фортран.
4
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,966
Записей в блоге: 227
03.05.2017, 22:48
Лучший ответ Сообщение было отмечено usit как решение

Решение

Можно легко проверить. Если в Visual Studio создать файл main.c (не main.cpp!) и скомпилируется, то значит Си.

Я проверил, c файлом main.c запускается. Значит, это Си. Но можно сказать, что C++ включает в себя Си, значит, это и Си и C++ одновременно. Причём используются системные вызовы операционной системы Windows, то есть используется WinAPI.

Замечание по коду. Приведу цитату одного хорошего человека:
Сделаю небольшое предостережение, если используете LPCTSTR как тип переменной, то не забывайте оборачивать литерал строки в макровыражение _T
Code
1
LPCTSTR ButtonClassName = _T("button");
Иначе, если в настройках проекта стоит кодировка Unicode, то программа не скомпилируется. То же самое касается всех char и char* заменить на TCHAR и LPTSTR. Также, совсем для верности, заменить WinMain на _tWinMain.
Учитывая это замечение, ваш код можно представить так (заметьте, что теперь русские символы отображаются нормально, а не как иероглифы)

main.c
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/*WinAPI приложение. Минимальный
набор функций для отображения окна.
Эта программа станет базовой заготовкой для всех последующих программ*/
 
#include <windows.h>
#include <tchar.h>
 
//Создаём прототип функции окна 
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
//объявляем имя программы 
TCHAR szProgName[] = _T("Имя программы");
 
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
{
    HWND hWnd; //идентификатор окна 
    MSG lpMsg;
 
    WNDCLASS w; //создаём экземпляр структуры WNDCLASS и начинаем её заполнять 
 
    w.lpszClassName = szProgName; //имя программы 
    w.hInstance = hInstance; //идентификатор текущего приложения 
    w.lpfnWndProc = WndProc; //указатель на функцию окна 
    w.hCursor = LoadCursor(NULL, IDC_ARROW); //загружаем курсор в виде стрелки 
    w.hIcon = 0; //иконки у нас не будет пока 
    w.lpszMenuName = 0; //и меню пока не будет 
    w.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //цвет фона окна - белый 
    w.style = CS_HREDRAW | CS_VREDRAW; //стиль окна - перерисовываемое по х и по у 
    w.cbClsExtra = 0;
    w.cbWndExtra = 0;
 
    //Если не удалось зарегистрировать класс окна - выходим 
    if (!RegisterClass(&w))
        return 0;
 
    //Создадим окно в памяти, заполнив аргументы CreateWindow 
 
    hWnd = CreateWindow(szProgName, //Имя программы 
        _T("Моя первая программа! "), //Заголовок окна 
        WS_OVERLAPPEDWINDOW, //Стиль окна - перекрывающееся 
        100, //положение окна на экране по х 
        100, //по у 
        500, //размеры по х 
        400, //по у 
        (HWND)NULL, //идентификатор родительского окна 
        (HMENU)NULL, //идентификатор меню 
        (HINSTANCE)hInstance, //идентификатор экземпляра программы 
        (HINSTANCE)NULL); //отсутствие дополнительных параметров 
 
                          //Выводим окно из памяти на экран 
    ShowWindow(hWnd, nCmdShow);
    //Обновим содержимое окна 
    UpdateWindow(hWnd);
 
    //Цикл обработки сообщений 
 
    while (GetMessage(&lpMsg, NULL, 0, 0))
    { //Получаем сообщение из очереди 
        TranslateMessage(&lpMsg); //Преобразуем сообщения клавиш в символы 
        DispatchMessage(&lpMsg); //Передаём сообщение соответствующей функции окна 
    }
    return(lpMsg.wParam);
}
 
//Функция окна 
LRESULT CALLBACK WndProc(HWND hWnd, UINT messg,
    WPARAM wParam, LPARAM lParam)
{
    HDC hdc; //создаём контекст устройства 
    PAINTSTRUCT ps; //создаём экземпляр структуры графического вывода 
 
                    //Цикл обработки сообщений 
    switch (messg)
    {
        //сообщение рисования 
        case WM_PAINT:
            //начинаем рисовать 
            hdc = BeginPaint(hWnd, &ps);
            //здесь вы обычно вставляете свой текст: 
            TextOut(hdc, 150, 150, _T("Здравствуй, WIN 32 API!!!!"), 26);
            //закругляемся 
            //обновляем окно 
            ValidateRect(hWnd, NULL);
            //заканчиваем рисовать 
            EndPaint(hWnd, &ps);
            break;
 
            //сообщение выхода - разрушение окна 
        case WM_DESTROY:
            PostQuitMessage(0); //Посылаем сообщение выхода с кодом 0 - нормальное завершение 
            break;
 
        default:
            return(DefWindowProc(hWnd, messg, wParam, lParam));
    }
    return 0;
}


Вот что было до:


И стало после:
2
284 / 232 / 114
Регистрация: 07.09.2016
Сообщений: 584
03.05.2017, 23:43
не увидел ни одной с++ фишки. значит си. не силен в си, но вроде нет и чисто си фишек, а значит это такое подмножество си, которое входит в с++. => и с и с++ компиляторы должны переваривать такой код.
0
1 / 1 / 0
Регистрация: 19.08.2015
Сообщений: 93
04.05.2017, 08:28  [ТС]
Croessmah, скажите, пожалуйста, почему в данном случае нельзя определить язык программирования однозначно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2017, 08:28
Помогаю со студенческими работами здесь

На каком языке написана программа?
ПРивет!Я скачал программу Restorator 2007 которая позволяет редактировать Re файлы.Открыл справочник этой программы и прочитал пункт где и...

На каком языке написана эта программа?
вот ссылка на нее первая программа http://www.cyberguru.ru/programming/programming-theory/matrix-vectors-values-page6.html

На каком языке написана эта программа?
подскажите как мне извлечь исходный код из неё (в обычный блокнот).. мне это нужно для дальнейшего его конвертирования в JAVA или в СИ

На каком языке написана программа Slic3r?
И не могли бы подсказать программу для 3д печати с открытым кодом ?

На каком языке программирования написана эта программа?
Подскажите пожалуйста на каком языке программирования написана эта программа? Программа используется в курсаче - создается фазометр...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru