Перейти к контенту

Рекомендуемые сообщения

@PlayMod, а тебе разве мешает?

Тема заведомо непопулярна, однако у кого то когда то могут возникнуть вопросы именно по самому языку (например про новые стандарты).

Да что уж там, давайте я и спрошу. В общем существует c++11, а так же c++14. Вопрос, начиная с какой версии Visual Studio уже "из коробки" поддерживается полностью первый и второй(второй вообще доделан до конца, ну т.е. выпущен)? Из коробки, т.е. без установки всяких c++ compiler nov 2012/2013 ctp? Просто у меня получилось скомпилить с новыми определениями методов (=delete/=default) только в 2015 превьюхе, а так же в 2013, а вот в старушке 2012 даже с вышеуказанными компиляторами не проканало.

ТЧ 1.0004. SAP и Trans mod

github

Ссылка на комментарий

@Desertir, полностью с++14 нигде не поддерживается :)

Что касается visual c++ вот ссылки:

http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx

http://blogs.msdn.com/b/vcblog/archive/2014/11/17/c-11-14-17-features-in-vs-2015-preview.aspx

  • Спасибо 3
Ссылка на комментарий

Народ, нид хэлп.

Такая проблема: летом начинал кодить на плюсах, решил по-быстрому текстовик запилить, да возникла проблема: убрал ограничение размеров окна, и теперь при изменений границ окна (растягивание, при этом неважно куда - вниз или в сторону) окно не обновляется (не перерисовывается), и вместо полноценной области ввода (как например в обычном блокноте) появляется серая неактивная область.

Кусок кода:

GetClientRect(hWnd, &clientRect);
		hMainEditField = CreateWindow("edit", NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_LEFT | ES_AUTOVSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | WS_VSCROLL, clientRect.top, clientRect.left, clientRect.right, clientRect.bottom, hWnd, (HMENU) ID_MAINEDITFIELD, hInst, NULL);

Все clientRect.xxx выставлены, а перерисовыввается только clientRect.top и clientRect.left.(( В чем дело.
Если надо, могу кинуть сорсы, но просьба не ржать!) Я начинаю только.

SOURCE

Изменено пользователем Elz
Ссылка на комментарий

и теперь при изменений границ окна (растягивание, при этом неважно куда - вниз или в сторону) окно не обновляется (не перерисовывается)

1. окно и обновляется и перерисовывается,

2. надо растягивать hMainEditField в след за главным окном.

  • Спасибо 1
Ссылка на комментарий

@abramcumner, да, спасибо!
Но можете пожалуйста пояснить, как это сделать?
Заранее благодарю.
UPD1: ууу, какие непонятные слова... А код, с помощью которого получаем размер, можно увидеть? Я уж два месяца, как забросил этот проЭкт (самозашквар).

UPD2: а как средствами WinAPI открыть mp3? Грубо говоря, плеер сделать? С GUI разберусь, а на вот на счет остального... Есть какой-то отдельный класс для этого?

Изменено пользователем Elz
Ссылка на комментарий

Всем привет.
Насчет исходников (проект x-ray-re), кто нибудь пробовал их компилировать на VS2012?
В конце построения выдается не понятная ошибка.
 
http://rghost.ru/60548208

Изменено пользователем АRХИТЕКТОР
Ссылка на комментарий

А кстати, качать DirectX SDK надо полностью? Может у кого есть все не обходимые библиотеки, без не нужного мусора, а то качать DirectX SDK 2007 и DirectX SDK 2010 накладно, целый гигабайт. И ещё желательно инструкция, как настроить это всё.

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

Ссылка на комментарий
НаноБот, если у тебя VS2012/2013 или выше, нет. СДК там встроен в Windows Kits. Если другое, придётся.
  • Спасибо 1
Ссылка на комментарий

У меня VS2010 и без сервис пака 1.

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

Ссылка на комментарий

http://www.g-truc.net/post-0706.html

Это в дополнение к ответу на мой вопрос о поддержке стандартов C++

  • Спасибо 1

ТЧ 1.0004. SAP и Trans mod

github

Ссылка на комментарий

Весьма "нубский" вопрос. У нас есть две разрядности приложений - 32 и 64. А еще есть х86 - платформа, на основании которой построено (или поддерживается, как это правильнее?) большинство процессоров (ПК), так? Я к тому, что x86 это одно, а x32 и x64 это другое. Почему тогда разработчики ставят в пару именно x86 и x64? Например либы в DirectX SDK. Разве x86 считается полным синонимом x32 в определенном (или даже без него?) контекте?


Есть такая мини-статья, в принципе мои "познания" сходятся с тем, что там написано, и вполне логично.

И в догонку еще такое нашел.

Изменено пользователем Desertir

ТЧ 1.0004. SAP и Trans mod

github

Ссылка на комментарий

x86 - по факту - 32.

am64 - 64.

 

Есть еще всякие подвиды, отличающиеся sse2, sse3 и другими страшными буквами, но это уже не столь существенно.

 

Впрочем, от #студий можно ожидать чего угодно.

 

P.S. Да, в статье - сумбурно, но по сути - верно.

Изменено пользователем Dennis_Chikin
Ссылка на комментарий

@Desertir

По сути эти "х" перед цифрами означают разное: х86 исторически отображает архитектуру, которая пошла с первого 86-го процессора (самые известные i386 и i486, а пресловутый пентиум носил индекс 586), а когда появилась разрядность 64 бит на той же архитектуре, стали обозначать разрядность. Отсюда несостыковка такая. В общем, всего лишь исторический фактор. Для общего развития, еще есть ia64 - это суперскалярные процессоры от интела, исторически сразу 64 разряда. Так же существует amd64, отличается наборами микрокоманд, см. ниже.

В общем-то в статье так и написано, но что-то сильно много букв :)

 

 

sse2, sse3 и другими страшными буквами, но это уже не столь существенно.

Это не подвиды, это наборы расширенных команд микропроцессоров, конкретно sse2 и sse3 - инструкции для работы с потоковыми данными. На самом деле их уйма, и разные процессоры поддерживают разные наборы. Различия в основном в последних исторически наборах команд, которые у АМД и у Интела свои, потом либо отмирают, либо появляются универсальные для обоих вендоров наборы.

По топику - для сборки сырцов в исполняемый файл, почти все эти наборы не важны - либо они есть в новых процессорах, либо не требуются для функционирования программы (рентгена).

Изменено пользователем xStream
  • Согласен 1

Все, кто стоит на моем пути: идите нахрен и там погибните! ©

Ссылка на комментарий

 

 

По топику - для сборки сырцов в исполняемый файл, почти все эти наборы не важны - либо они есть в новых процессорах, либо не требуются для функционирования программы (рентгена)

Т.е. по сути можно убрать тучу ассемблерного кода из xrCPU_Pipe и не париться?

Ссылка на комментарий

@User_X.A.R26, я без понятия, что это такое вообще :) Если какая-то штука либо для проверки фич процов, то да, смысла париться нет, если не собираетесь поддерживать компы с конфигурацией годов, когда начали писать сталкер :)

Все, кто стоит на моем пути: идите нахрен и там погибните! ©

Ссылка на комментарий

И снова я с простенькими вопросами-уточнениями. Речь пойдет о подключении библиотеки к проекту VS.

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

Далее, динамика, тут интереснее, файл заголовка остается по смыслу таким же, добавляется сама динамика (.dll), и к этому нужно добавить библиотеку импорта, которая имеет так же расширение .lib, что ввело меня в кратковременный ступор. В этом случае библиотека импорта так же вкомпилливается в наш файл, и он уже будет знать, куда ссылаться, функция там или переменная. С динамикой верно?

Т.к. динамика несколько сложнее, еще вопросы. По сути нам надо создать библиотеку импорта и в свойствах проекта это можно указать для dll. Чтобы экспортировать из динамики у нас есть несколько способов, меня интересуют два, это с помощью .def-файла и __declspec(dllimport|dllimport). Собственно чем они отличаются? И можно или нужно ли их использовать вместе?

Заголовок

#pragma once

#ifdef COMPILING_DLL //добавлен в св-вах проекта для длл
#define DLLSPEC __declspec(dllexport)
#else
#define DLLSPEC __declspec(dllimport)
#endif

DLLSPEC int GetSum(int, int);
Код библиотеки

#include "Header.h"

DLLSPEC int GetSum(int a, int 
{
    return a + b;
}
Приложение

#include <iostream>
#include "../DynamicLib/Header.h" //хедер из длл

#pragma comment(lib, "DynamicLib.lib") //можно указать в св-вах проекта в Additional Dependencies

int main()
{
    std::cout << GetSum(1, 3) << std::endl;
    system("pause");
    return 0;
}

 

И таки да, есть возможность добавить reference в св-вах проекта, если это все в одном солюшене. Я так понимаю, он просто добавляет все опции для линкера без нашего шаманства?

ТЧ 1.0004. SAP и Trans mod

github

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...