> как вообще он считывает 10 байт, если отослано только 3
шумная линия связи? Для приёма байта достаточно поймать правильные стартовый и стоповый биты.
> 2. Создать sh скрипт, сделать владельцем файла этого юзера.
> 3. Задать SUID для скрипта, чтобы он запускался от имени владельца
хрен там, не работает этот способ со скриптами.
> Вы можете получить вашу функцию в виде набора байтов, зная адрес начала и конца функции. С первым все просто. А вот второй...
При компиляции gcc можно указать ключ -ffunction-sections, и тогда каждая функция попадёт в отдельную секцию в итоговом объектнике.
> Если бы я вам описывал все все все подробности и код то вы, скорее всего, даже не стали бы читать @Perzh вот я так и подумал, что вы не верите в то, что вам помогут. А чтобы случайно кто-нибудь, кому не в облом поковыряться в вашем коде, таки не смог его прочитать, то код вы и не привели. В итоге вы получили то, что хотели, но было ли это эффективно?
Если тип не зависит от параметра шаблона, то об отсутствии подходящего определения типа при подобном использовании мы узнаем вне зависимости от того, инстанцирован класс/вызвана функция или нет.
@Diel под "размером последнего индекса" я понимаю число 3 в выражении char (*r)[3]. Если вам нужно узнать индексы последнего элемента исходного массива в новом массиве, то они будут равны (sizeof(string) - 1) / sizeof(r[0]) и (sizeof(string) - 1) % sizeof(r[0]) соответственно. По одному только r из моего примера нельзя понять, на что он указывает, потому что это указатель. Есть разные варианты, как это можно победить.
@Diel разделите длину исходной строки на размер последнего индекса r. Вообще в C нет контроля границ массивов, т.е. вы легко можете написать r[100][500] и это будет сравнительно валидное выражение.
> я Вам не чувак
а было очень похоже, когда речь пошла про дельфи.
>> класс string в dll С++
> Из этой строчки вы поняли, что и dll и основное приложение написано на C++?
из этой строчки я понял, что dll пишется автором на C++. Основное приложение должно бы быть написано на С++ чтобы с лёгкостью передавать std::string куда-нибудь, иначе мы бы сначала увидели какой-нибудь другой вопрос, например, "как из дельфи передать в dll на С++ std::string".
> в любом случае Вы даете плохой совет
во-первых в моих ответах нет советов.
Во-вторых, не в любом же. В типичном случае использования одного компилятора всё будет работать нормально.
> Используйте в dll только pod-типы. Внутри можно использовать все, что захотите, но снаружи должны быть видны только pod'ы
вы бы тогда уж добавили, что функции видные снаружи должны быть хотя бы extern "C", а то ведь и mangling может быть разный, и конвенция вызова.