gcc ile x86_64 GNU/Linux kullanıyorum. man -s2 open
ait
ÖZET bölümü diyor ki:open() sistem çağrısı üstbilgisi dosyası gereksinimleri
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
int creat(const char *pathname, mode_t mode);
Şimdi aşağıdaki kod parçacığını derlemeye çalıştığınızda, gcc
bir uyarı/hata atmak değil.
#include <stdio.h>
#include <fcntl.h>
int main(int argc, char **argv)
{
int fd;
fd = open("foo.txt", O_RDWR, 0777);
if(fd == -1)
perror("open");
fd = creat("foo.txt", 0777);
if(fd == -1)
perror("creat");
close(fd);
return 0;
}
Yani types.h
ve stat.h
isteğe bağlıdır? open()
'un manpage'inde hangi amaca hizmet ediyorlar?
Check fcntl.h' - 'types.h' ve' stat.h' – user590028
dahil olduğunu varsayalım ' ve '' içerir. Ama hala neden "" ve "" nin "man -s2 open" içinde olduğunu anlamıyorum. –
rootkea
Durumunuzu belirttiğinizden beri, -Wall' ile derlediniz mi? Değilse, bunu yapın ve uyarılar için kontrol edin. – DoxyLover