Пытаюсь собрать Qt Creator 2.3 beta 1 (2.2.82) gcc 4.5.2 из MinGW под win7sp1. Отладочный вариант собрался, а вот релиз не хочет. Не могу понять это глюк в gcc или в исходниках Qt Creator.
А вот перевести в строку со смещением похоже оно не умеет. Интернеты сказали, что без костыля здесь никак. Хочу представить на суд общественности свой вариант:
QString dateTimeToISOString(QDateTime dateTime)
{
QDateTime dateTimeUtc = dateTime.toUTC();
dateTime.setTimeSpec(Qt::UTC);
int sec = dateTimeUtc.secsTo(dateTime);
QString dateTimeString = dateTime.toString("yyyy-MM-ddThh:mm:ss");
if (sec != 0) {
int h = qAbs(sec/3600);
int m = qAbs(sec%3600/60);
QString offsetString = QString("%1:%2")
.arg(h, 2, 10, QLatin1Char('0'))
.arg(m, 2, 10, QLatin1Char('0'));
if (sec > 0) {
return dateTimeString + "+" + offsetString;
} else {
return dateTimeString + "-" + offsetString;
}
}
return dateTimeString + "Z";
}
Хочется узнать какие есть косяки и подводные камни.
Разрабатываю свой формат (на основе XML) для хранения аннотации к данным, которые получены с экспериментальной установки. Возникла проблема: файлы получаются слишком большими, в них 98% составляют однотипные строчки вида: <block time="1000" size="1000" offset="0" marks="" comment=""/>, которых может быть тысячи. В год будут записываться несколько тысяч новых файлов.
Сейчас я думаю сделать хранение таких участков в виде "delimiter-separated values" для разделения значений использовать специально предназначенные для этого символы (U+001F, U+001E).
Хотелось бы узнать мнение знающих людей по поводу такого компромиссного полу-XML-полу-не-XML формата. Или если все совсем плохо, то какие есть альтернативы?
package my
object Test2 {
type MyType = Byte
}
class Test2 {
import Test2._
var q = List[MyType](42)
def this (m: MyType) = { // <<<<<<<<<<<<<<<<
this()
q = List[MyType](42, m)
()
}
def wtf(mm: MyType) = {
()
}
def wtf2(mm: MyType):List[MyType] = {
q
}
}
На помеченной строке ругается "not found: type MyType". Если "import Test2._" вынести за пределы класса или указать тип как "Test2.MyType" все ОК. Это так и должно быть?
Пишу на C прошивку для микроконтроллера. Возникла следующая проблема:
while (1) {
..
for (..) {
..
if (..) {
вдруг неожиданно произошло что-то очень не хорошее, например, аппаратная ошибка несовместимая с нормальной работой программы, нужно выйти из цикла while (1)
}
..
}
..
switch (..) {
case ..:
if (..) такая же ситуация...
break;
..
}
..
}
..
if (флаг если ошибка) {
обработка
}
..
И как тут быть? Неужели goto, и будет мне вагон счастья? А как же «напишешь "goto" и за тобой придёт бабай! Буууу!» (c), Дейкстра и весь такой прочий антураж?
Продолжение моих попыток вернуть деньги за Windows Vista. Получил от Toshiba фееричный ответ:
Здравствуйте!
ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ С КОНЕЧНЫМ ПОЛЬЗОВАТЕЛЕМ ПО ИСПОЛЬЗОВАНИЮ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ MICROSOFT содержит следующую информацию:
"Если Вы не согласны с условиями данного Лицензионного соглашения с конечным пользователем, Вы не можете использовать и копировать
это ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ и должны немедленно выяснить у Изготовителя порядок возврата неиспользованных продуктов и получения
денежного возмещения в соответствии с правилами возврата продуктов Изготовителя." Т.е. в данном случае действуют правила возврата,
установленные изготовителем ноутбука. Компания Toshiba поставляет ноутбук в качестве целостного решения, включающего аппаратные и
программные средства. Возврат стоимости каких-либо компонентов ноутбука, как аппаратных, так и программных не производится. Если Вы
не согласны с условиями Лицензионного соглашения с конечным пользователем, Вы можете вернуть ноутбук как целостное решение (товар)
продавцу в соответствии с законодательством РФ при условии сохранения всех потребительских свойств, комплекта поставки, упаковки и
товарного вида ноутбука. (возврат товара возможен при наличии существенного недостатка изделия, отказ от использования
предустановленного ПО не является существенным недостатком).
-------------------------------------------
Настоящее сообщение может содержать конфиденциальную или иную охраняемую законом информацию и предназначено только для указанного
адресата. Любое ее использование без согласия отправителя является несанкционированным. Если данное сообщение попало к Вам по
ошибке, пожалуйста, незамедлительно уведомите об этом отправителя, а само сообщение уничтожьте. Содержащиеся в сообщении утверждения
не являются официальной позицией компании Toshiba, если иное прямо не указано отправителем.
С уважением,
Информационный центр Toshiba.
Тел: +7 (800) 100-05-05 (бесплатный для регионов России)
Тел: +7 (495) 983-05-05 (для жителей Москвы)
Факс: +7 (495) 983-05-05
Email: notebooks@toshiba.com.ru
URL: www.toshiba.com.ru
После этого я писал ещё несколько писем, но ответа так и не получил... Вот так вот, господа... Что скажете на это?