-
- От безысходности можно и C++. Но не представляю как. Задача такова: чтоб в функцию аналогичную printf() в строку формата не подсунули указатель на RAM. Или хотелось бы в runtime отличать (char*) и (char*) указатели приведённые к (const char*). Для fk0(8056 знак., 18.05.2011 20:25)
- На С++ не получилось - всегда вызывается вариант без const. А в качестве грязного хака я бы предложил смотреть на адрес аргумента - rw и ro данные лежат в разных сегментах. - vmp(18.05.2011 21:33)
- так и делаю. Те, кто используют виртуализацию, сейчас нас заплюют - koyodza(18.05.2011 22:16)
- Плевать не буду, а лишь замечу, что квалификатор const вовсе не гарантирует принадлежность к определенному (RO) сегменту. - rezident(18.05.2011 22:19)
- А это и не важно. Если const char* лежит в ОЗУ, то после выключения/включения питания оно там снова окажется, должно по крайней мере... - fk0(19.05.2011 12:50)
- то само собой. Но топикстартер вроде хочет откидывать любые указатели на RAM, независимо от того на const они указывают или на ещё что-то - koyodza(18.05.2011 22:26)
- Плевать не буду, а лишь замечу, что квалификатор const вовсе не гарантирует принадлежность к определенному (RO) сегменту. - rezident(18.05.2011 22:19)
- так и делаю. Те, кто используют виртуализацию, сейчас нас заплюют - koyodza(18.05.2011 22:16)
- На С++ не получилось - всегда вызывается вариант без const. А в качестве грязного хака я бы предложил смотреть на адрес аргумента - rw и ro данные лежат в разных сегментах. - vmp(18.05.2011 21:33)
- От безысходности можно и C++. Но не представляю как. Задача такова: чтоб в функцию аналогичную printf() в строку формата не подсунули указатель на RAM. Или хотелось бы в runtime отличать (char*) и (char*) указатели приведённые к (const char*). Для fk0(8056 знак., 18.05.2011 20:25)