J'ai récemment appris le C et j'ai vu que certaines fonctions utilisent bitwise ou bitwise pour transmettre des paramètres. Je ne comprends pas très bien ce que cela signifie, et il semble que les opérations bitwise soient rarement utilisées dans le travail quotidien.
Par exemple, le morceau de code suivant
#define LOCKFILE "/var/run/gwyydaemon.pid"
#define LOCKMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
fd = open(LOCKFILE,O_RDWR|O_CREAT,LOCKMODE);
Que signifient ici O_RDWR|O_CREAT et S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH
Vous devez vérifier la documentation vous-même
O_RDWR
: Lisible et inscriptibleO_RDWR
: 可读可写O_CREAT
: 文件不存在则创建位或的意思是组合配置,假设(具体值我并不知道):
O_RDWR
等于二进制00000001
O_CREAT
等于二进制00000010
🎜 OU au niveau du bit signifie configuration combinée, en supposant (je ne connais pas la valeur spécifique) :O_CREAT
: Créez le fichier s'il n'existe pasO_RDWR
est égal au binaire00000001
O_CREATÉgal au binaire
00000010
🎜 🎜Alors la configuration combinée est🎜Ce ne sont que des opérations de bits
S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH et ainsi de suite doivent être définis dans un certain fichier d'en-tête
Par exemple (la valeur est écrite avec désinvolture par moi, veuillez vérifier ce fichier d'en-tête pour plus de détails, je suis paresseux)
Attendez.