У меня возникла проблема с LD_PRELOAD.
Когда я использую LD_PRELOAD в HPUX и Solaris, я обнаружил, что не могу подключить свою функцию open64/open/creat64/creat в /usr/bin/touch, но моя отвязка может действовать в /usr/bin/rm, почему?
Я сделал простой тест:
int open(int fd, int flag, mode_t mode)
{
return -1;
}
int open64(int fd, int flag, mode_t mode)
{
return -1;
}
int creat(int fd, mode_t mode)
{
return -1;
}
int creat64(int fd, mode_t mode)
{
return -1;
}
когда я это делаю, я обнаружил: обычно я не могу открыть файл, но сенсорный экран может это сделать!
почему! я был озадачен этим в течение длительного времени. кто может мне помочь.спасибо
наконец, извините за мой плохой английский
truss -o touch.log touch testfile
сказала мне, что она использует функцию creat64 для создания файла. - person littletiny   schedule 28.12.2011/usr/bin/touch
, а не встроенную в вашу оболочку командуtouch
. - person Piotr Praszmo   schedule 31.12.2011