/**
- 初始化环境抽象层(EAL)。 *
- 此函数仅在MASTER lcore上执行,在应用程序的main()函数中尽早执行。 *
- 在调用main()之前,该函数完成初始化过程。它将SLAVE lcores放入等待状态。 *
- 当支持多个分区时,根据配置(如果禁用CONFIG_RTE_EAL_MAIN_PARTITION),此函数等待确保魔术数字设置后才返回。另请参见rte_eal_get_configuration()函数。注意:此行为可能会在未来改变。 *
- @param argc
- 非负值。如果大于0,数组成员argv[0]到argv[argc](不包括)应包含指向字符串的指针。
- @param argv
- 字符串数组。数组的内容以及由数组指向的字符串可能会被此函数修改。
- @return
- - 成功时返回解析的参数数量,大于或等于零。在调用rte_eal_init()之后,这个函数调用可能已经修改了所有的参数argv[x]和x < ret,并且应用程序不应进一步解释这些参数。EAL不对argv数组或其成员使用的内存拥有所有权。
- - 失败时,返回-1,并设置rte_errno以指示失败原因。在某些情况下,应用程序需要重新启动以清除问题。 *
- 错误代码通过rte_errno返回:
- EACCES表示权限问题。 *
- EAGAIN表示总线或系统资源不可用,可以再次尝试设置。 *
- EALREADY表示rte_eal_init函数已经被调用,无法再次调用。 *
- EFAULT表示在内存配置中未找到tailq配置名称。 *
- EINVAL表示传递给argv/argc的参数无效。 *
- ENOMEM表示由于内存不足而失败。 *
- ENODEV表示内存设置问题。 *
- ENOTSUP表示EAL无法在此系统上初始化。 *
- EPROTO表示PCI总线不存在或不可读取。