Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по программированию на C/С++

Автор: nick7inc
Дата сообщения: 17.01.2014 10:29
ne_viens
А если строка занимает 100 байт? Тогда в выводе будет вся строка + возможный мусор, находящийся за буффером. Даже если буфер заполнять нулями, это всё небезопасно. По крайней мере, в приведённом примере. В этом случае надо обязательно контролировать, сколько байт прочитано, столько же и записывать.
Автор: akaGM
Дата сообщения: 17.01.2014 11:02
да запросто
char file_content[101] = {0};
:)
Автор: AKN74
Дата сообщения: 18.01.2014 11:56
Доброго всем времени суток.
Очень нужен msvcp71.pdb, а найти такое старье не получается.
Мож, у кого завалялся, поделитесь?
Заранее спасибо.
Автор: ne_viens
Дата сообщения: 18.01.2014 13:54
http://rghost.net/51743945
Автор: SuperDimon007
Дата сообщения: 16.02.2014 21:16
Сложно ли в С++ предоставить пользователю выбрать тип данных?
Допустим:

Код: if (...)
{
double a;
...
}
else
{
int a;
...
}
cout << a;
Автор: akaGM
Дата сообщения: 17.02.2014 01:05
SuperDimon007

не очень понятно...
может Сишные union'ы подойдут?
Автор: Cheery
Дата сообщения: 17.02.2014 01:37
SuperDimon007

Цитата:
Я так понимаю после завершения if, переменные, объявленные в нём, удаляются.

c чего бы ?)

http://ru.wikipedia.org/wiki/Шаблоны_C%2B%2B
вы же не ограничитесь одним выводом? тогда придется работать с шаблонами, и компилятор создаст копию функции/класса для каждого используемого типа.

Цитата:
Хотя шаблоны предоставляют краткую форму записи участка кода, на самом деле их использование не сокращает исполнимый код, так как для каждого набора параметров компилятор создаёт отдельный экземпляр функции или класса.


ps: использовал несколько лет назад для вычислений с повышенной точностью, когда менялся тип используемых переменных. может, конечно, уже что то новенькое появилось )
Автор: ne_viens
Дата сообщения: 17.02.2014 10:03

Цитата:

Цитата: Я так понимаю после завершения if, переменные, объявленные в нём, удаляются.


c чего бы ?)
Автор: akaGM
Дата сообщения: 17.02.2014 11:27
просто два типа локальных...

int foo(void) {

int loc1; // локальная на скопе функции

{
int loc2; // локальная в {}-блоке
}
}
Автор: TrallBus
Дата сообщения: 23.02.2014 18:05
посоветуйте хороший видеокурс для самообучения с/с++
Автор: dragon010
Дата сообщения: 25.02.2014 11:42
TrallBus
Вот тут можешь посмотреть
http://sis.khashaev.ru/2013/july/courses/
Читает межнарник по программированию

Добавлено:
TrallBus

А еще тут http://informatics.mccme.ru/ можно научиться писать на новом языке, решая простые или не очень алгоритмические задачик. есть а-ля "hello world" или "a + b", но есть и суровые со всеросскийских олимпиад
Автор: Aktaf
Дата сообщения: 05.03.2014 16:52
Подскажите пожалуйста. Чтобы компилировать программу версии x64, у себя обязательно должна быть такая среда (Windows)?
Я компилирую VirtualDub х38 через файл проекта VirtualDub.sln.
Рядом еще такие файлы:
VirtualDub-VC2005.vsprops
VirtualDub-VC2005-AMD64.vsprops
VirtualDub-VC2005-Debug.vsprops
VirtualDub-VC2005-IX86.vsprops
VirtualDub-VC2005-Release.vsprops

В "Студии" выставлял х64 вместо Win32, ни чего не происходит, процесс не начинается и не ругается.
Автор: ItsJustMe
Дата сообщения: 05.03.2014 20:53
Aktaf
Не обязательно. Сам VC - x86, но собирать могёт под 3 платформы.
Автор: Aktaf
Дата сообщения: 05.03.2014 20:55

Цитата:
Не обязательно. Сам VC - x86, но собирать могёт под 3 платформы.

Подскажите пожалуйста, как это сделать? У меня 2005 VS.
Автор: ItsJustMe
Дата сообщения: 06.03.2014 16:15
Сделать что? Архитектура, под какую собирать, указывается в свойствах проекта. (Для VS 2005 справедливо не "под 3 платформы", а под 2 )
Если вы спрашиваете, как собрать непосредственно VirtualDub, то, наверное, открыть нужный project, жамкнуть Build. Если не собралось - залезть внутрь и исправлять, исправлять, пока не соберётся.
Автор: Aktaf
Дата сообщения: 06.03.2014 18:38
ItsJustMe
Т.е. с этого одного файла проекта, при одном запуске вместе х86 и х64 должен собраться?
Сколько версий собираю, не разу не было даже попыток. Ждал подолгу.
Автор: ItsJustMe
Дата сообщения: 06.03.2014 19:16
А чего ждали? В конце концов, видно же, что оно компилируется Если проект большой, то да, компилироваться будет какое-то время, но ведь закончит, тем не менее. И либо соберется, либо нет. Если нет, выдаст список ошибок
Платформа выбирается в панели инструментов Standard, combo box "Solution Platforms" - Win32 (which is the same as x86) or x64. "Solution Configurations" - Debug, with debug information, or Release, without debug info. Or other configurations, if defined.
Каждое из сочетаний Configuration + Platform собирается отдельно, т.е. имея 2 configurations и 2 platforms получим 4 варианта сборки: "Win32 Debug", "Win32 Release", "x64 Debug", "x64 Release". Чтобы собрать, к примеру, "x64 Release", выбираем в "Solution Configurations" Release, в "Solution Platforms" x64, и жмем Build. Ждем завершения процесса и, если все успешно, получаем набор вожделенных бинарников.
Автор: AndrMan
Дата сообщения: 08.03.2014 21:03
Aktaf
Если собирать под х64, то должны стоять соответствующие библиотеки. Если ставить VS по умолчанию, то 64х-битные библиотеки не ставятся.
vsprops может быть сколько угодно. Это "свойства" проекта под разные платформы.
Автор: wsadneg
Дата сообщения: 11.03.2014 23:03
Посоветуйте библиотеку для работы с компортами, типа wsc4c от Marshallsoft.
Автор: vlary
Дата сообщения: 11.03.2014 23:31
wsadneg
Цитата:
Посоветуйте библиотеку для работы с компортами
А зачем, собственно? Работают обычные CreateFile, WriteFile, ReadFile...
Автор: AndrMan
Дата сообщения: 12.03.2014 06:02
wsadneg
возьми с исходниками здесь. Подходит?
Автор: wsadneg
Дата сообщения: 12.03.2014 21:04
vlary

Цитата:
А зачем, собственно? Работают обычные CreateFile, WriteFile, ReadFile...

Я не знаю как использовать эти функции, программлю под labwindows, использовал встроенную в него библиотеку, функции ComRd ComRdByte. Поначалу всё работало, но потом я подключил устройство через блютуз и почему-то они стали считывать только 64 пакета, а потом порт затыкался. Тогда я перешёл на wsc4c, и вроде бы жизнь наладилась, но примерно через месяц у wsc4c проснулась жаба и он начал требовать денег. В принципе можно дальше пока отлаживать, но эта жаба напрягает, и если есть нормальная альтернатива, почему бы не перейти на неё.

AndrMan
Спасибо, как попробую - отпишу.
Автор: AndrMan
Дата сообщения: 13.03.2014 12:28
wsadneg
На самом деле таких классов очень много. Если не подойдет - пиши, что не так
Автор: Aktaf
Дата сообщения: 22.03.2014 10:10
Подскажите пожалуйста. В компилирую свою версию Вертуал Даба из готовых исходников, внеся туда свои изменения. Исходники пишут на Microsoft Visual Studio 2005. Там же используются "должен быть установлен Framework 2.0", SDK for Windows 7 and .NET Framework 3.5 SP1, DirectX SDK Aug09.exe, Windows Server 2003 R2 Platform SDK и несколько файлов дополнительно ложил. Все действия я делал по описанному порядку и все получалось.
Похоже просто совпало, с началом попытки до установить необходимых для сборки версии х64, компонентов Microsoft Visual Studio 2005. Появились большие ошибки. Попытки устанавливать все по порядку на чистую систем тоже проблему не решали. С подсказки одного чела (сам он Даба не собирает) установил обновление для SDK for Windows 7 and .NET Framework 3.5 SP1 и ошибки остались связанные с двумя файлами. И дальнейшие попытки только добавляли проблему.
Каждая установка Microsoft Visual Studio 2005 и других компонентов, даются с большими трудностями, остаются "невидимые следы" в системе и теперь я уже просто перешел поэтапное сохранение и восстановление раздела. И плохо, что я больше не могу найти людей кто занимается в этой среде, тем более компиляцией Даба. Сам полный профан, вынужденно занявшийся осуществлением своих идей по улучшению этой программы.
Я подозреваю, мне мешает не знание практические шаги по использованию - работе программистов с Microsoft Visual Studio 2005.
Извиняюсь за свое нудное вступление и теперь вопрос:
1) Как правильно должно быть указано в Microsoft Visual Studio 2005 к директориям других программ SDK, таких как "bin", "Include" и "Lib".

2) Как программа определяет какой файл использовать, если в системе несколько одинаковых по названию, но, разные по содержанию и они находятся в разных, местах и они все указываются (подключаются) в Microsoft Visual Studio 2005?

3) Как перепроверить, действительно ли программа находит нужный файл?
Спасибо.
Автор: AndrMan
Дата сообщения: 22.03.2014 11:45

Цитата:
1) Как правильно должно быть указано в Microsoft Visual Studio 2005 к директориям других программ SDK, таких как "bin", "Include" и "Lib".
 
2) Как программа определяет какой файл использовать, если в системе несколько одинаковых по названию, но, разные по содержанию и они находятся в разных, местах и они все указываются (подключаются) в Microsoft Visual Studio 2005?  
 
3) Как перепроверить, действительно ли программа находит нужный файл?
Спасибо.


1. Способов много и завсит от продукта. Вообще порядок include файлов указан в Tools->Option->Projects and Solutions->VC++ Directories. Ещё, если ставил разные версии SDK убедишь в ключе реестра HKEY_CURRENT_USER\Software\Microsoft\Microsoft SDKs\Windows\CurrentVersion указана последняя уставновленная версия (например, 7.1A)
2. Порядок директорий - см. 1.
3. http://msdn.microsoft.com/en-us/library/hdkef6tk.aspx
Автор: Aktaf
Дата сообщения: 22.03.2014 18:44
AndrMan
Спасибо большое.

Цитата:
1. Способов много и зависит от продукта. Вообще порядок include файлов указан в Tools->Option->Projects and Solutions->VC++ Directories. Ещё, если ставил разные версии SDK убедишь в ключе реестра HKEY_CURRENT_USER\Software\Microsoft\Microsoft SDKs\Windows\CurrentVersion указана последняя установленная версия (например, 7.1A)
2. Порядок директорий - см. 1.
3. http://msdn.microsoft.com/en-us/library/hdkef6tk.aspx

То что я обращаюсь к AndrMan не означает, что ответ только от него жду. Пожалуйста все кто может, помогите.
Тут я забыл откорректировать вопрос:
1) Дело в том, что в Студии уже прописываются автоматом ряд каталогов. Свои дописывать как, я знаю.
А вот автоматом прописанных не нужно ли удалять, если да то каких, как узнать?

У меня не разные версии SDK, а разные SDK. Т.е. Они перечислены три в первом пункте, с обновлением уже 4.
SDK for Windows 7 and .NET Framework, DirectX SDK, Windows Server 2003 R2 Platform SDK и обновление SDK for Windows.
У каждого из них по одному или даже два соответствующего каталога.

А версия 7.1 - это не на 2008 ставиться? Если на 2005 тоже подойдет и нужно ставить, то где его брать?
Вдруг я уже потерял ссылку, я где то уже с ним встречался, но теперь его у меня нет. А нужен ли не знаю.

Вообще то п. 2 отсылать к первому совсем не корректно. Или я сам не понимаю.
Тут вообще то вопрос совсем о другом, по внимательнее прочтите пожалуйста.

Как программа (Студия) определяет какой файл использовать, если в системе несколько одинаковых по названию, но, разные по содержанию и они находятся в разных, местах файлы? Все они указываются (подключаются) в Microsoft Visual Studio 2005. Как программа определяет какой именно файл взять в каждом конкретным случае? Или перепробует все, или первый попавший. Тогда возможно успех как-то зависит от того, в какой последовательности указаны эти каталоги?

3) Как перепроверить, действительно ли программа находит нужный файл? По сслке я смотрел, ничего толкового не заметил и не понял.
Автор: ne_viens
Дата сообщения: 22.03.2014 21:05
Aktaf Deja vu :)
>Автор: ne_viens, Отправлено:11:40 15-04-2013
>
>Ну, тогда не знаю.
>Попробовал собрать- всё получилось.
>VS2008 и Windows SDK уже были, поставил DirectX SDK,
>скопировал yasm.exe в \bin, сконвертировал проект без "versioning control",
>исправил на "#define _WIN32_WINNT 0x0500" в "\src\VDCapture\h\stdafx.h"...
>...

Всё испарвно собирается на том-же сетапе годичной давности. И х86, и х64.
Номер версии менять в:
VDCapture\Header Files\stdafx.h
а в:
System\Precompiled Header Support\stdafx.h
перед #include <windows.h> написать #define WINVER 0x0500
Автор: AndrMan
Дата сообщения: 23.03.2014 08:12
Aktaf
ne_viens дал очень хороший совет. Если не поможет - напиши какие ошибки появляются.
Автор: Aktaf
Дата сообщения: 23.03.2014 11:02
ne_viens
Здорово Вы мне тогда помогали, теперь вот с Вашей помощью вспомнил.
Старый хрен, я уже стараюсь все записывать, а тогда видимо пропустил часть.
И вот после этих проблем, я решил с XP за одно разобраться, нашел вроде более подходящую раздачу, с SP3, хотя и мой такой же. Вообщем хочу, чтобы в нем были все последние обновления (чтобы в случае чего на него еще не грешить) и архивировать поэтапно работоспособные системы. Никогда не занимался, а теперь с этими проблемами надоело переустановки, буду нужный этап просто восстанавливать с архива.
И вот пока все эта эпопея параллельно пошла, я уже тут с этими ошибками, даже постоянства потерял. Каждая установка подобных программ, чаще всего у меня идут проблемами, остаются какие то следы и дальше что-то не ставиться. Решил попробовать изменить и установить последнею обновку, тоже до Студию (мне советовали все SDK ставить до Студии). Но, получилось еще хуже. Короче, эти эксперименты вынужден остановить, самостоятельно уже не выплыву.

Цитата:
AndrMan - ne_viens дал очень хороший совет. Если не поможет - напиши какие ошибки появляются.

ne_viens, AndrMan
Спасибо Вам большое. Я к чему то системы свою приведу и с последним тупиковым состоянием своего очередного тупика обращусь.
Надеюсь с Вашей помощью наладим, все таки чтобы не были разночтения с разрабом, очень бы хотелось продолжать на 2005 ом.
Автор: Aktaf
Дата сообщения: 23.03.2014 15:54
1) Установили положил необходимые файлы по прежней схеме.
2) Не стал ставить последнею обновку.
3) Не стал прописывать каталоги в Студии (2005).
4) Не ставил пока антивирус (обычно ставлю Нод32).
И вроде ошибки не прибавились, вот полной описание процесса:
https://cloud.mail.ru/public/600d0824a614/032314osh.rar
Мои действия?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193

Предыдущая тема: не знаю как назвать тему :-)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.