crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

История благодарностей участнику Iron Bug ::: Спасибо сказали: 207 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
11.1.2016, 14:22 Array
Цитата(AD @ 11.1.2016, 13:15) *
Я тоже не пользуюсь auto и прочими прелестями нового стандарта, но тут к ужасу узнал, что на подходе новый стандарт. Думаю, при появлении свободного времени поизучать новый стандарт.

да чота в последние годы новые стандарты плодятся, как грибы после дождя! я успешно освоила С++11 и поизучала С++14, а сейчас уже новые грядут.
я последние года два в основном чистым С занимаюсь, ощущаю, что отстаю от прогресса и надо сесть и почитать про последние новости стандартизации, для общего развития.
кстати, про чистый С. вчера на ЛОРе увидела ссылку на неплохую обзорную статью по С99 и С11. там ничего такого особенного, но сжато и понятно написано. возможно, для кого-то это будет полезно:
https://matt.sh/howto-c
AD, lanz,
28.10.2015, 16:09 Кириллица в Qt 5.5
Это багофича новой Qt. Решение см. здесь: http://www.forum.crossplatform.ru/index.php?showtopic=10548
iCast,
6.10.2015, 8:41 Умные указатели через сигналы.
обычный shared_ptr подойдёт.
вопрос не относится к Qt, переношу его в вопросы по С++.
call_me_Frank,
28.8.2015, 10:36 Что я не так делаю с указателями?
Цитата(Shaitan @ 27.8.2015, 18:48) *
Спасибо за ошибку.

да не за что. это твоя ошибка, ты её сам сделал ;)

код надо писать внимательно. если опыта нет, то тем более не нужно торопиться.

например, ты уверен, что это условие написано правильно?
if((_strList[i] != "=")||(_strList[i] != ".")||(_strList[i] != ",")||(_strList[i] != ":"))
Shaitan,
27.8.2015, 15:32 Что я не так делаю с указателями?
Цитата(Shaitan @ 27.8.2015, 15:03) *
Насчёт
delete &rVar; Это я пытаюсь очистить память от указателей. Согласен нужно это сделать иначе.

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

Цитата(Shaitan @ 27.8.2015, 15:03) *
Вторая странность это я узнаю длину списка и перебираю его до того пока не упрусь в ";"

нет. до конца это списка это никогда не дойдёт, потому что условие leght >= i его выкинет ровно посередине.
простая система уравнений
Цитата
leght = _strList.length() - i;
leght = i;

даёт
Цитата
i = _strList.length()/2;

так что с логикой тут серьёзные проблемы.
Shaitan,
27.8.2015, 11:01 Что я не так делаю с указателями?
ну, при беглом просмотре кода, сразу же в первом блоке:
   delete &rVar;

зачем тут адрес? подумай, что ты удаляешь.

вообще, логика кода какая-то странная. ты не проверяешь, что _strList содержит минимум два элемента, хотя обращаешься к ним.

потом, вот это условие тоже какое-то малопонятное:
leght = _strList.length() - i;
        while(leght >= i ...


не исключено, что там ещё есть ошибки логические.
в общем, внимательнее надо код писать.
Shaitan,
7.7.2015, 10:10 QSerialPort
чем длиннее провод - тем ниже должна быть скорость передачи.
и на проводе должны быть терминаторы. если их нет, то скорее всего в сигнале будут отражённые паразитные данные.
да, если в непосредственной близости присутствуют двигатели, трансформаторы или любые девайсы с мощными токами в обмотках, то возможны помехи на линии и данные также могут искажаться.
в целом от подобных вещей спасает только вычисление CRC на каждый пакет и нумерация пакетов плюс система перезапроса пакета, в случае его потери или испорченных данных.
leonneon_89,
21.6.2015, 9:05 Регулярные выражения
у тебя регулярное выражение правильное, а метод неправильный. Split разделяет выражение по указанному разделителю. соответственно, сам разделитель вырезается. я не спец в Qt, но гугл с первого захода выдал некий метод search:
http://stackoverflow.com/questions/1837469...using-qt-regexp
larry,
15.5.2015, 10:42 firebird, insert возвращает ошибку -1, строку вставляет
insert вернул true. в этом случае незачем читать что-то из lastError, там может быть что угодно.
gvenihvivar,
27.4.2015, 8:47 Phonon: не понятная ошибка
у тебя линковщик библиотеку не нашёл. её там действительно нет.
fredwriter,
3.4.2015, 9:26 WindowTitle, разделенная на 2 части
зачем обязательно делать это в заголовке? сделайте лейблы с надписями ниже, в самом окне, хоть десять штук.
Zaca,
25.3.2015, 12:03 Файловый ввод-вывод
убери ios::app и добавь ios::trunc.
почитай в документации про флаги: http://www.cplusplus.com/doc/tutorial/files/
dmitryrocks,
27.2.2015, 23:54 Кросс - компиляция
по-моему, в данном случае проще всего поставить линюксовую виртуалку и в ней собрать всё. с кросскомпиляцией даже у опытных программистов бывают проблемы, а уж с кросскомпиляцией библиотек типа Qt лучше вообще не связываться. быстрее и проще собрать на виртуалке.
wiz29,
26.2.2015, 11:21 подклассы Singlton
в случае, если перекрёстные ссылки всё-таки есть (это должны быть именно ссылки, а не объекты класса), то стандартное решение состоит в использовании предварительной декларации класса:
class ClassB;  // предварительная декларация класса ClassB

class ClassA {
     ClassB *ptrB;
};

class ClassB {
    ClassA *ptrA;
    ClassA A;  // после полного определения класса мы можем использовать не только указатели, но и объекты класса
};
call_me_Frank,
25.2.2015, 19:02 подклассы Singlton
насчёт решения с классами - какое-то оно странное. честно говоря, непонятно, как это будет использоваться. подумай ещё. это полезно. и обязательно попробуй использовать свои классы, без этого ты не поймёшь потенциальных минусов своего решения.

Цитата(call_me_Frank @ 25.2.2015, 19:26) *
и появился вопрос: как развязать классы по отдельным h-файлам? получается зацикленное включение хедеров

это стандартное решение в С/C++. каждый хэдер всегда заключён в блок препроцессорных определений:
#ifndef SOME_HEADER_NAME
#define SOME_HEADER_NAME
....
<код>
....
#endif

и ещё: лучше не использовать имена переменных, начинающиеся с двух подчёркиваний ( __ ) - часто это зарезервированные имена служебных переменных и функций и можно случайно напороться на конфликт с определениями в стандартных библиотеках.
call_me_Frank,
19.2.2015, 8:48 Подключение библиотеки crashrpt к Qt5.4.0(VS 2010)
Цитата(Trisch @ 18.2.2015, 15:42) *
Проверил при помощи depends файлы .h и .lib

Выдало такую ошибку:
Error: At least one file was not a 32-bit or 64-bit Windows module.

да, она не жрёт lib-файлы. только dll-ки. попробуй так:
Цитата
dumpbin.exe -headers foo.lib

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

я подозреваю, что у тебя каким-то образом получилась несовместимость юникода и не-юникода. одна часть собралась с юникодом, а другая - без него.
Trisch,
14.1.2015, 13:20 python std::shared_ptr clang++
Цитата(alexy @ 14.1.2015, 0:56) *
gcc не осилил скомпилить приведеннй код с этим примером

что-то у тебя неправильно установлено или проблемы с железом. компилятор может ругаться, но завешивать систему на таком примитиве он не может.

я не отслеживала самые последние изменения, но, по крайней мере, до версии 1.55.0 C++11 в бусте не использовался явно. главным образом потому, что буст сам по себе прототип стандартизации С++ и когда что-то становится стандартом, то буст пересматривается. а ещё потому, что С++11 с полным набором всех фич до сих пор не существует в некоторых компиляторах, которые буст поддерживает.

в последних версиях GCC (начиная с 4.7) для С++11 есть опция -std=c++11 (или -std=c++0x, начиная с GCC 4.3, но в старых версиях может быть далеко не полная поддержка фич C++11).
AD,
20.12.2014, 15:43 Ищу библиотеку обработки звука
использовать API для jackd. всё стандартно, как работа с любой другой библиотекой.
mezmay,
21.11.2014, 17:03 диагностика проблемы при вылете программы
6.1.7601 - это венда семёрка. а она умеет делать дамп. пока это окно висит (не закрывать его!) - зайти в менеджер задач (или как он там называется), выбрать упавшую программу, нажать правую кнопку мыши и выбрать "сохранить дамп". только тщательно запомнить путь, куда система его сохранит (он нетривиальный, она его покажет один раз, лучше его сразу скопировать, а то потом фиг найдёшь файл). и потом этот файл в студии можно открыть и увидеть весь стек и состояние программы в момент падения.
borune, lanz,
28.10.2014, 15:59 Неопределенные классы в динамической библиотеке
смотря что там в иерархии. всё, где шаблоны, которые как-либо прямо или косвенно используются в вызовах юзера - да.
то есть, шаблон лишь определяет, как генерить класс. а компилятор генерит его, по собранным в коде вызовам. если есть использование шаблона с классом А - будет просто сгенерён класс, который есть результат применения шаблона к этому классу. и так для всех сочетаний.

вообще говоря, вопрос сигнатуры решается просто: передачей указателя. а уж на что он там указывает - это можно описывать в документации к библиотеке алгоритмов, например.
Count0,
28.10.2014, 15:25 Неопределенные классы в динамической библиотеке
ответ: нет.
шаблоны используются только на этапе компиляции.
впрочем, если подождать лет так пять.... в последних дискуссиях по стандарту С++14 вроде как обсуждалось динамическое использование шаблонов ;)
Count0,
7.10.2014, 21:20 Получить stack trace удаленно
заюзай Google Breakpad. хорошая штука. её использует Мозилла и многие другие крупные компании. мы её на работе тоже пользуем на серверах.

кроме того, под вендой есть ещё отладка через дамп. не знаю, как в Win8, а в 7-ке была у них фича - сохранение дампа, из системного монитора, по правой кнопке на процессе, когда он уже выдал сообщение о падении, но ещё не был убит системой. дамп сохраняется в какую-то задницу, так что лучше сразу в сообщении после сохранения прочитать, куда система его сохранила, и записать этот путь. потом дамп можно загрузить в студию и с ним работать.
lanz,
11.8.2014, 8:41 Бесплатные курсы для начинающих программистов
Думаю, это может оказаться кому-то полезным:

Computer Science Center запускает онлайн-курсы.

15 сентября 2014 года, CSC запустит три новых онлайн-курса для начинающих программистов:

Алгоритмы и структуры данных.
Программирование на языке C++.
Введение в архитектуру ЭВМ. Элементы операционных систем.

Данные три онлайн-курса являются «джентльменским набором» начинающего программиста, преподаются на русском языке и бесплатны для всех желающих.

Computer Science Center – это совместная инициатива Академии современного программирования, Computer Science клуба при ПОМИ РАН и Школы анализа данных.

Основная цель Computer Science Center – дать возможность желающим получить востребованные современной наукой и промышленностью знания в дополнение к университетскому образованию.

>>> Подробности

(взято отсюда)
Litkevich Yuriy,
19.7.2014, 18:33 Замедление вставки в QSQLITE
по моим наблюдениям, SQLite работает довольно шустро с базами размером до 300 Мб. базы большего размера начинают вызывать тормоза, вне зависимости от настроек (не знаю, чем это вызвано, память или другие ресурсы при этом особо не пожираются).
при загрузке больших объёмов, если при этом не нужно ничего читать из базы и не нужна синхронизация и транзакционность, можно включать настройку через PRAGMA: synchronous=off, count_changes=off и другие.
Вообще, про оптимизацию большой загрузки данных (bulk load) можешь почитать тут, например:
http://blog.quibb.org/2010/08/fast-bulk-inserts-into-sqlite/
cupersuper,
17.7.2014, 20:53 вывод в файл заголовка в libcurl
почитай про CURLOPT_WRITEFUNCTION - там можно задать callback для записи и писать куда хочешь.
maint,

8 страниц V   1 2 3 > » 
RSS Текстовая версия Сейчас: 23.4.2017, 22:56