Pull to refresh
4
0
Протасеня Александр @Framework

User

Send message
Windows XP/Vista/7/8?
На минуточку. Qt 5 это библиотеки, они нужны для работы приложений и совсем не должны ничего делать при установке на чистую систему.
А если вы говорите Qt 5, а подразумевает QtSDK, то прочтите комментарии ниже или скачайте пакет с инструментами для разработки и самостоятельно убедитесь, что всё работает из коробки(для полного счастья может не хватать Visual Studio в Windows, но это не считается, я думаю).
5.0.1 ещё не скачивал, не знаю что там, но для предыдущей версии как раз полный SDK(библиотеки и QtCreator) они и выкладывали, только меньшего размера(без Symbian уже).
Решил проверить Dart. Замена же JS как ни как. Может я его не умею готовить, но результаты какие-то совсем печальные.

Скрытый текст
$ PLATFORMS="dart" ./run.sh 100
===============
dart
===============
******************************
parser:html5lib_parser.dart	file:../page_google.html
38864
real:39.13	user:38.76	sys:0.27	max RSS:73740
******************************
parser:html5lib_parser.dart	file:../page_habrahabr-70330.html
686300
real:687.00	user:679.05	sys:5.72	max RSS:269588
******************************
parser:html5lib_parser.dart	file:../page_habrahabr-index.html
34617
real:34.88	user:34.48	sys:0.26	max RSS:80804
******************************
parser:html5lib_parser.dart	file:../page_wikipedia.html
36756
real:37.01	user:36.53	sys:0.33	max RSS:76560

Qt 5.0 распространяется как полный SDK пакет с бинарными сборками для Linux (64 и 32 bit), Mac OS X (10.7 и 10.8) и Windows.
И также включает в себя IDE Qt Creator 2.6, примеры и полную документацию.

На qt-project.org/downloads прямые ссылки на только на SDK и есть, а вот за всем отдельно просят идти на releases.qt-project.org/qt5/5.0.0/
Никто не говорил, что значение N изменить нельзя или что сделать это сложно, да и примеров хватает, но это не безопасно. Очень просто запутать себя, товарища, компилятор, пользователя, данные, если перезаписывать N новым значением прямо в цикле.
Конечно это UB. Разумеется так писать нельзя. Оба примера не являются легальными вариантами. Не существует легального варианта. Нельзя писать код, поведение которого мы не можем предсказать.
Но мы живём не в идеальном мире и на практике…
Код
#include <iostream>
int main()
{
    int lsize = 2;
    int array[2];
    int k = -1;
    std::cout<<array+k<<" "<<&lsize<<" "<<lsize<<std::endl;
    array[k] = 100500;
    std::cout<<array+k<<" "<<&lsize<<" "<<lsize<<std::endl;
    return 0;
}

Вывод на codepad.
Для разных компиляторов значение k может быть разным, но главное мы можем, обратившись к ячейке массива по индексу, перезаписать область памяти, которая формально этому массиву не принадлежит, и ничего нам за это не будет.
SWIG упрощает задачу, но как бы список requirements для сборки у нас не стал больше кода самого приложения. Нужно оценивать масштаб при выборе инструментов.
Преимущество нативного кода это не только время его исполнения, но и доступ к ресурсам, которые для Java не доступны. Во втором случае с оверхедом придётся смириться.
Смотрел, выглядит интереснее и проще. Определимся, когда будем видеть сколько вызовов C++ функций у нас будет. Две или три скорее всего нигде погоды не сделают.

Information

Rating
Does not participate
Location
Солигорск, Минская обл., Беларусь
Date of birth
Registered
Activity