C++ определение указателя на функцию(определение функции) в runtime
Можно-ли в C++ выделять память под новую функцию в время выполнения программы? т.е. примерно такой код:
int (*funcPtr)(int, int) = new (int a, int b)
{
return a + b;
}
Можно-ли в C++ выделять память под новую функцию в время выполнения программы? т.е. примерно такой код:
int (*funcPtr)(int, int) = new (int a, int b)
{
return a + b;
}
Недавно начал использовать qtcreator и возможно не знаю всех фич . В общем есть test.jpg, который подключен к проекту как «другой файл». Что нужно делать, чтобы он либо копировался всё время в build-директорию ну или запаковался в скомпилированный файл?
Здравствуйте!
Не мог бы кто-нибудь мне подсказать. Так сказать дать пинок в нужном направлении. Я сам с графическим интерфейсом, или канвасом сталкивался лишь один раз в жизни, когда «писал» на MIDlet Pascal «какую-то бродилку» лет в 12-13, после этого были только zenity и yad для bash'а.
В институте нам дали изучать, недавно, «библиотеку Тупого Художника». Это библиотечка просто обёртка над какими-то функциями в GDI. Настроил кросскомпиляцию, поигрался, даже шутер написал. Теперь хочу перейти на что-то более... полезное что-ли. Но не знаю что мне вообще нужно.
Пока интересует работа с 2d canvas'ом. Нашел SDL, GLUT, GLFW, но для чего именно они используются так и не понял. Или лучше сразу начать учить какой-нибудь GUI-тулкит(Qt)? Или может есть что-то специализированное под 2d графику(прямые, ломаные, фигуры, кривые и т.д.)? Желательно ОО библиотека, потому что пишу на C++.
Пытаюсь настроить OpenCV.
Собрал исходники(на Ubuntu 13.04), install_prefix стандартный (/usr/local), прописал '/usr/local/share/OpenCV' в /etc/ld.so.conf.d/opencv.conf.
В /etc/enviroment
PKG_CONFIG_PATH='/usr/local/lib/pkgconfig'
OpenCV_DIR='/usr/local/share/OpenCV'"
Но find_path(OpenCV_DIR «OpenCVConfig.cmake») всё равно выдаёт 'OpenCV_DIR-NOTFOUND'.
ЧЯДНТ?
нужно найти в строке кол-во символов escape с кодом \033
Пример:
x="Th\033[42mis i\033[47ms a \033[36mte\033[0mst"
for ((i=0; i<${#x}; i++)); do
echo -e ${x:$i:1}
if [ "${x:$i:1}" == "\033" ]; then
# пробовал в двойных скобках и C скобках
echo yes
for ((; ${x:$i:1}!='m'; i++)) do
:
done
let len=len+1
fi
done
Карточка гибридная AMD Radeon 6490m/Intel Sandybridge.
Драйвера последний бета блоб AMD Catalyst 13.6.
Google Chrome 28.0.1500.71 с офф. репозитория и Chromium 28.0.1500.52 с рапозитория от Canonical.
http://get.webgl.org/ говорит, что я должен видеть крутящийся куб, но его нет... просто нет...
chrome://gpu говорит сначала, что webgl работает нормально, но после того как какой-то сайт пытается его использовать, эта же страница(chrome://gpu) отнекивается от работы с webgl и говорит, что всё плохо, после ребута браузера по новой.
На Intel карте всё работает без проблем. В Firefox WebGL работает на обеих карточках.
Стоит бунта 12.10, 32-битная естественно, fglrx, как же без него...
Недавно появилась необходимость в 64-битной linux-системе. Android собирать.
Даже оперативки прикупил, чтобы было больше поводов перейти на 64-битную систему.
Могу поставить параллельно, но это не интересно. Переустановить систему с нуля, тоже не в кайф.
Вот нашел историю одну: 3-я по счёту.
Shawn installed his system using the 32-bit version of Ubuntu, but his hardware is 64-bit and he wants to switch over. He manually installs the amd64 versions of dpkg and apt, replacing the i386 versions and changing which architecture is used as the default; then he installs the amd64 ubuntu-minimal package; then he installs the amd64 ubuntu-desktop package. Over time the remaining i386 packages are replaced automatically on upgrade.
И назревает несколько вопросов: Это может быть правдой? Как запустить с 32-битной системы 64-битные версии dpkg и apt? Как сменить стандартную архитектуру? И что сносить перед всеми этими манипуляциями?
И ещё немного про бекап: Acronis или dd или «`что-то ещё`»?
Написал небольшой скрипт для добавления менюшек в quicklist'ы unity. Здоровая критика приветствуется.
http://paste.ubuntu.com/5600597/
PS. Если кто-то успел скачать, извеняюсь, выложил не протестенную... тесщенную... тестиную... в общем вы поняли.
Нужно удалять целую секцию в ini-подобном файле.
Т.е. найти нужную строку с заголовком секции, такого вида '[Section Name]' и удалять до первой попавшейся начинающейся с '[' строки, при этом её трогать нельзя.
Попробовал на sed:
sed -e '/^\[Section Name/,/^\[/d'
Надеюсь на скорую помощь )).
В общем такая ситуация:
Ноут с гибридной графикой AMD\Intel, стоит fglrx, всё переключается нормально и вроде работает нормально. Поставил пакеты xvba-va-driver libva-glx1 libva-x11-1 vainfo, как сказано в wiki об ati драйверах в linux(wiki.cchtml.com).
vainfo ошибок не выдаёт, но он видит только драйвера для Intel HD, т.е. i965_drv_video.
Вот вывод
$ vainfo
libva: VA-API version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/i386-linux-gnu/dri/i965_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA-API version: 0.32 (libva 1.0.15)
vainfo: Driver version: Intel i965 driver - 1.0.17
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Baseline : VAEntrypointVLD
VAProfileH264Baseline : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
Как заставить его(va-api) смотреть в fglrx вместо интеловских?
Есть внешний жесткий с 1 разделом NTFS. Не люблю, когда видно системные папки от винды, и поэтому в fstab прописал диск на маунт с параметрами:
UUID=09FABE3C669C2338 /media/ADATA_Classic_CH94 ntfs defaults,umask=007,gid=46,hide_hid_files,hide_dot_files,windows_names 0 1
Но в таком случае система требует подключения жд при запуске, либо нужно в ручную сказать ей, что его маунт можно пропустить. Как сделать так, чтобы не требовало монтирования жд при старте системы. айс?
PS. Извеняюсь за невнятный текст.
Поставил Ubuntu 12.10 на HP ProBook 4530s, всё заработало, но это же я... Решил попробовать поставить офф драйвер тачпада. Благо HP они (Synaptics т.е.) дали возможность раздавать свои драйвера. Но вот незадача, HP дают только rpm пакет. Я пересобрал alien'ом и теперь интерфейс требует библиотеки, вот:
/opt/Synaptics/bin/SynTPCpl: error while loading shared libraries: libwx_gtk2u-2.8.so.0: cannot open shared object file: No such file or directory
wxGTK 2.8 у меня стоит. Все либы лежат в /usr/lib/i386-linux-gnu/ и называются примерно так libwx_gtk2u_*-2.8.so.0. Какая из них нужная не знаю, уже пробовал поочерёдно на все создать симлинк с нужным именем, но пишет следующее:
/opt/Synaptics/bin/SynTPCpl: relocation error: /opt/Synaptics/bin/SynTPCpl: symbol _ZTI8wxThread, version WXU_2.8 not defined in file libwx_gtk2u-2.8.so.0 with link time reference
Что можно ещё сделать?
Вот недавно набросал скрипт для установки, удаления драйверов AMD Catalyst. В принципе сильно годным его не назовёшь, но мне пока хватает. http://pastebin.com/1ALmnqx5 . Советы заинтересованных лиц приветствуются )).