Я делаю некоторые сетевые программирования в Linux на данный момент, и для этого я сделал себе несколько typdefs для портативностиДолжен ли я использовать свои собственные typedefs в вызовах библиотеки?
typedef char int8;
typedef unsigned char uint8;
typedef short int16;
typedef unsigned short uint16;
typedef int int32;
typedef unsigned int uint32;
Теперь я в точке, где я хочу написать некоторые функции-обертки для часто используемой розетки функции. Короткий пример будет:
int32 rawSocketCreate(int* sockfd, int protocol) {
*sockfd = socket(AF_PACKET, SOCK_RAW, htons(protocol));
if (*sockfd == -1) {
printf("Error creating raw socket\n");
return -1;
}
return 0;
}
Мой вопрос сейчас: Для параметров я перехожу к библиотечным функциям, я должен продолжать использовать стандартные типы данных или использовать самостоятельно?
rawSocketCreate(int* sockfd, int protocol)
/* OR */
rawSocketCreate(int32* sockfd, int32 protocol)
С ним все в порядке (означает ваше СОБСТВЕННОЕ). потому что вы напечатали его стандартным типом. –