Передача параметров в конструктор
Как лучше?
Как раньше:
MyClassCtor(const DataType& value) : mValue(value)
или так:
MyClassCtor(DataType value) : mValue(std::move(value))
?
Вангую анонима, который расскажем мне, куда нужно идти..
Как лучше?
Как раньше:
MyClassCtor(const DataType& value) : mValue(value)
или так:
MyClassCtor(DataType value) : mValue(std::move(value))
?
Вангую анонима, который расскажем мне, куда нужно идти..
Допустим сейчас в разделе job были комментарии в прикреплённой теме. Если включить сортировку по последнему комментарию, то этой темы не видно. Имхо, баг.
Есть в CMakeLists.txt такая конфигурация:
add_custom_command(
OUTPUT MyFile.c
COMMAND blabla
)
set(my_SOURCES
MyFile.c
)
add_library(mylib ${my_SOURCES})
Всё генерируется и собирается, но сгенерированные файлы не отображаются в QtCreator'e. Можно их как-то отобразить? (версия creator'a 3.5.1)
Собсно вопрос в заголовке. Можно ли это как-то сделать через conf/local.conf
, если toolchain собирается командой bitbake meta-toolchain?
Пробовал вот так:
TOOLCHAIN_HOST_TASK_append = " nativesdk-glib-2.0-codegen"
<signal name="finished">
<arg name="status" type="(ssiyi)">
<annotation name="org.gtk.GDBus.C.Name" value="TaskStatus"/> <--- ???
</arg>
<annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="TaskStatus"/>
</signal>
Если убрать все аннотации, то код не генерируется ни при помощи qdbusxml2cpp, ни при помощи gdbus-codegen. Если добавить вторую аннотацию (QtTypeName), то qdbusxml2cpp съедает и генерирует. Что нужно сделать, чтобы gdbus-codegen сгенерировал код? Вообще то, что он даже сообщение об ошибке не выдаёт, я считаю это багом. Надо бы запостить. Только сначала хотелось понять, как заставить его генерировать.
Короче такой use-case:
- std::vector<std::shared_ptr<MyStruct>>
- Один тред пишет и удаляет
- Другой только читает и делает std::find_if
MySctruct разруливает многопоточность сама через std::atomic и std::mutex. Вопрос касательно вектора. В таком сценарии нормально использовать его или нужно наследоваться и защищать мьютексом?
UPD.: по ходу, если кто-то пишет, то читать остальным нельзя давать. Правильный ход мыслей?
После долгих 26 месяцев разработки вышла долгожданная Slackware 14.2.
Основные нововведения:
Я вот купил футболку Slackware только что =)
Кстати, кто про баг-репорты и патчи отметился, неплохо было бы уточнить в какие проекты.
Резервирую я вот таким способом через device tree.
Если указываю размер 0x100000 то резервируется нормально и всё работает пучком. Попробовали мы как-то зарезервировать 0x1000 или 0x10000. И вот тут начинается интересное. Ядро резервирует запрошенную память (во всех случаях адрес был 0x10000000) и висит в функции void __init map_lowmem(void) (arch/arm/mm/mmu.c).
Никто не в курсе, с чем связана невозможность резервирования памяти небольшого размера? Вроде бы и 0x1000 и 0x10000 больше PAGE_SIZE, с этим проблем быть не должно..
Я вот тут чё-то подсел и читаю о том, что рассказывают в разных странах. https://www.reddit.com/r/AskReddit/comments/4pfnig/germans_japanese_and_itali...
Я лично вот не помню, чтобы у нас была подчёркнута роль союзников в войне. Про русско-финскую войну тоже не особо рассказывали...
На сабже был кто-нибудь? http://events.linuxfoundation.org/events/linuxcon-europe/program/about
Есть просто ещё вот такая http://events.linuxfoundation.org/events/embedded-linux-conference-europe/pro... , но первая выглядит интереснее.
Афигеть, почти час и ни одного коммента.. видать лоровец существо асоциальное :(
Ну так чтобы букет и такой как на картинке =) Посмотрел на https://www.florist.ru/ , на картинке одно, а в описании всего 9 цветов и аж 4 килорубля за него.
Есть пару контейнеров, скажем QVector. Как красиво пройтись по всем и выполнить операцию над элементами?
Элементы во всех контейнерах одного типа.
Нашёл красивый бенчмарк здесь http://insanecoding.blogspot.de/2011/11/how-to-read-in-file-in-c.html
Но как быть с неблокирующим чтением.
Единственное, что я вижу, так это напрямую использовать open(mydevice, RD_ONLY | O_NONBLOCK); Больше c++ way вариантов нет? Или правильный путь это вариации select/poll + блокирующее чтение?
Лоровцы (и безусловно Лоркони), а кто-нибудь рассматривал вплотную новый закон о резиднетстве? Это касается только тех, кто живёт не в РФ.
Единственное, что смущает, так это вот этот пункт:
По закону граждане России, которые считаются валютными резидентами, не могут проводить ряд операций — скажем, получать на счет доход от продажи недвижимости. Еще пример: физическим лицам запрещено получать на свои иностранные счета гранты. Штрафы за эти нарушения очень серьезные — до 100 процентов от суммы сделки.
А где полный список найти, а также ответ на вопрос «схерали»? Ну, скажем, дом я продавать не буду, но машину в недалёком будущем захочу продать..
А то чё-т я затормозил.. в 11-ом сразу написал, а чтоб в 03 ещё собрать..
MyContainer::ConstIterator iter = std::find_if
(mList.begin(), mList.end(), std::bind(listContains, _1, value));
У uboot'a есть функция board_eth_init(), которая вызывается (как понятно из названия) чтобы проинициализировать ethernet. Она вызывается когда первый раз используешь любую сетевую команду (tftp, nfs, ping ..). Проблема в том, что я решил загрузиться с sd карты, и я не вижу, чтобы ethernet инициализировался. Как можно принудительно выполнить инициализацию?
Ну а то мож по пивку сообразили бы. Мы будем в Праге 24-28 мая.
Нашёл вот тут реализацию crc32 для little-endian. Конкретно я думаю выбрать crc32cx.
Есть пара вопросов.
- Нормальная ли реализация или можно как-то ещё оптимизировать?
- У arm, пункт 9.7 есть intrinsics. Какую часть алгоритма подсчёта crc они выполняют? (Ну что б предоставить оптимизированную под arm версию)
.. ну первая версия понятна, проверить свой код.
Теперь о подозрениях:
http://lxr.free-electrons.com/source/drivers/base/dma-mapping.c#L189
Мне кажется, что должно быть наоборот, т.е. проверка на НЕ 0:
if (rc != 0) ...
87 int dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr,
88 dma_addr_t device_addr, size_t size, int flags)
89 {
90 struct dma_coherent_mem *mem;
91 int ret;
92
93 ret = dma_init_coherent_memory(phys_addr, device_addr, size, flags,
94 &mem);
95 if (ret == 0)
96 return 0;
97
98 if (dma_assign_coherent_memory(dev, mem) == 0)
99 return ret;
100
101 dma_release_coherent_memory(mem);
102 return 0;
103 }
...
20 static int dma_init_coherent_memory(phys_addr_t phys_addr, dma_addr_t device_addr,
21 size_t size, int flags,
22 struct dma_coherent_mem **mem)
23 {
...
34 mem_base = ioremap(phys_addr, size);
35 if (!mem_base)
36 goto out;
37
38 dma_mem = kzalloc(sizeof(struct dma_coherent_mem), GFP_KERNEL);
39 if (!dma_mem)
40 goto out;
41 dma_mem->bitmap = kzalloc(bitmap_size, GFP_KERNEL);
42 if (!dma_mem->bitmap)
43 goto out;
44
...
54 if (flags & DMA_MEMORY_MAP)
55 return DMA_MEMORY_MAP;
56
57 return DMA_MEMORY_IO;
58
59 out:
60 kfree(dma_mem);
61 if (mem_base)
62 iounmap(mem_base);
63 return 0;
64 }
Если это действительно баг, то куда постить? cast tailgunner, post-factum
← назад | следующие → |