История изменений
Исправление LinuxUser, (текущая версия) :
Я тут вот что придумал:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
extern char etext, edata, end;
int main(int argc, char *argv[]) {
char *s = "default";
if (argc > 1)
s = strdup("new");
if (s < &etext || &edata < s)
free(s);
return EXIT_SUCCESS;
}
Список использованной литературы:
Статья о Data segment в Википедии
man 3 edata
Что думает по этому поводу здешняя публика?
Исходная версия LinuxUser, :
Я тут вот что придумал:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
extern char etext, edata, end;
int main(int argc, char *argv[]) {
char *s = "default";
if (argc > 1)
s = strdup("new");
if (s < &etext || &edata < s)
free(s);
return EXIT_SUCCESS;
}
Список использованной литературы:
Статья о Data segment в Википедии
man 3 edata