static_cast < type-id > ( expression )

本文详细介绍了C++中static_cast和reinterpret_cast的区别及其用法。static_cast主要用于类层次结构间的指针或引用转换及基本数据类型间的转换,而reinterpret_cast则提供了一种低位级别的位模式重新解释方式。
static_cast < type-id > ( expression )

该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:
①用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。
进行上行转换(把派生类的指针或引用转换成基类表示)是安全的;
进行下行转换(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以是不安全的。
②用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。
③把空指针转换成目标类型的空指针。
④把任何类型的表达式转换成void类型。
注意:static_cast不能转换掉expression的const、volatile、或者__unaligned属性。
C++中static_cast和reinterpret_cast的区别
C++primer第十五章里写了编译器隐式执行任何类型转换都可由static_cast显示完成;reinterpret_cast通常为操作数的位模式提供较低层的重新解释
1、C++中的static_cast执行非多态的转换,用于代替C中通常的转换操作。因此,被做为显式类型转换使用。比如:

int i;
float f = 166.71;
i = static_cast<int>(f);

此时结果,i的值为166。
2、C++中的reinterpret_cast主要是将数据从一种类型的转换为另一种类型。所谓“通常为操作数的位模式提供较低层的重新解释”也就是说将数据以二进制存在形式的重新解释。比如:

int i;
char *p = "Thisisanexample.";
i = reinterpret_cast<int>(p);

此时结果,i与p的值是完全相同的。reinterpret_cast的作用是说将指针p的值以二进制(位模式)的方式被解释为整型,并赋给i,//i 也是指针,整型指针;一个明显的现象是在转换前后没有数位损失

n file included from /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/os_msg.h:37, from src/tr143_common.h:29, from src/tr143_load.h:20, from src/tr143_load.c:15: /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:467:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_BRIDGE_MAX_INST=11' 467 | #pragma message(PRINT_MAX_INST(DEV2_BRIDGE_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:521:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_RADIO_MAX_INST=3' 521 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_RADIO_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:530:11: note: '#pragma message: <-- DM_MACRO_Redefined --> WIFI_RADIO_STATS_MAX_INST=3' 530 | #pragma message(PRINT_MAX_INST(WIFI_RADIO_STATS_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:539:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DIAGNOSTICRESULT_MAX_INST=192' 539 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DIAGNOSTICRESULT_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:557:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_SSID_MAX_INST=24' 557 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_SSID_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:566:11: note: '#pragma message: <-- DM_MACRO_Redefined --> WIFI_SSID_STATS_MAX_INST=24' 566 | #pragma message(PRINT_MAX_INST(WIFI_SSID_STATS_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:575:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_AP_MAX_INST=24' 575 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_AP_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:584:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_SECURITY_MAX_INST=24' 584 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_SECURITY_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:593:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_WPS_MAX_INST=24' 593 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_WPS_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:602:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_ASSOC_DEV_MAX_INST=384' 602 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_ASSOC_DEV_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:611:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_ASSOC_DEV_STAT_MAX_INST=384' 611 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_ASSOC_DEV_STAT_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:620:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_AC_MAX_INST=96' 620 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_AC_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:629:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_SCHEDULE_MAX_INST=24' 629 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_SCHEDULE_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:638:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_ACL_MAX_INST=24' 638 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_ACL_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:647:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_MACTABLE_MAX_INST=128' 647 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_MACTABLE_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:656:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_CONTROLFUNCTION_MAX_INST=24' 656 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_CONTROLFUNCTION_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:665:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_X_PCCWCPE_CONTROL_MAX_INST=24' 665 | #pragma message(PRINT_MAX_INST(DEV2_X_PCCWCPE_CONTROL_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:674:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_WDSBRIDGE_MAX_INST=3' 674 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_WDSBRIDGE_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:683:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_ENDPOINT_WPS_MAX_INST=3' 683 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_ENDPOINT_WPS_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:692:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_MAX_INST=16' 692 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:701:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_RADIO_MAX_INST=48' 701 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_RADIO_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:710:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_AP_MAX_INST=480' 710 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_AP_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:719:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_ASSOCDEV_MAX_INST=1024' 719 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_ASSOCDEV_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:728:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_STATS_MAX_INST=1024' 728 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_STATS_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:737:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_STESTATS_MAX_INST=1024' 737 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_STESTATS_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:746:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_STEHISTORY_MAX_INST=384' 746 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_STEHISTORY_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:764:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_ETHERNET_MAX_INST=16' 764 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_ETHERNET_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:773:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_ETHASSOCDEV_MAX_INST=192' 773 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_ETHASSOCDEV_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:782:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_MEMSTATUS_MAX_INST=16' 782 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_MEMSTATUS_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:791:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_QOE_MAX_INST=16' 791 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_QOE_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:800:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_INTERFACE_MAX_INST=256' 800 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_INTERFACE_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:809:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_COMPONENT_MAX_INST=1024' 809 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_COMPONENT_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:818:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_APDEV_WPS_MAX_INST=16' 818 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_APDEV_WPS_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:845:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_TS_POLICY_MAX_INST=12' 845 | #pragma message(PRINT_MAX_INST(DEV2_TS_POLICY_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:854:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_TS_ETH_POLICY_MAX_INST=8' 854 | #pragma message(PRINT_MAX_INST(DEV2_TS_ETH_POLICY_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:926:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_DEV_MAX_INST=16' 926 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_DEV_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:935:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_RADIO_MAX_INST=48' 935 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_RADIO_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:953:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_CUROPCLASSPROF_MAX_INST=192' 953 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_CUROPCLASSPROF_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:962:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_BSS_MAX_INST=480' 962 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_BSS_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:971:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_STA_MAX_INST=1024' 971 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_STA_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:998:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_STA_X_TP_QOE_MAX_INST=1024' 998 | #pragma message(PRINT_MAX_INST(DEV2_STA_X_TP_QOE_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1007:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_STA_X_TP_QOE_FACTOR_MAX_INST=1024' 1007 | #pragma message(PRINT_MAX_INST(DEV2_STA_X_TP_QOE_FACTOR_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1016:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_BACKHAUL_STA_MAX_INST=48' 1016 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_BACKHAUL_STA_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1025:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_CAP_MAX_INST=48' 1025 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_CAP_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1034:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_CAP_PROF_MAX_INST=800' 1034 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_CAP_PROF_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1088:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_SCAN_RESULT_MAX_INST=1024' 1088 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_SCAN_RESULT_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1097:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_OPCLASS_SCAN_MAX_INST=4096' 1097 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_OPCLASS_SCAN_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1106:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_CHANNEL_SCAN_MAX_INST=4096' 1106 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_CHANNEL_SCAN_MAX_INST)) | ^~~~~~~ In file included from /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/os_msg.h:37, from src/tr143_common.h:29, from src/tr143_load.h:20, from src/tr143_load.c:15: /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1115:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_NEIGHBORBSS_MAX_INST=4096' 1115 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_NEIGHBORBSS_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1124:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_UNASSOCSTA_MAX_INST=1024' 1124 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_UNASSOCSTA_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1133:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_DEVICE_X_TP_QOE_MAX_INST=16' 1133 | #pragma message(PRINT_MAX_INST(DEV2_DEVICE_X_TP_QOE_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1142:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_DEVICE_X_TP_QOE_FACTOR_MAX_INST=16' 1142 | #pragma message(PRINT_MAX_INST(DEV2_DEVICE_X_TP_QOE_FACTOR_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1205:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_ASSOC_DATA_MAX_INST=128' 1205 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_ASSOC_DATA_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:1214:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_WIFI_DE_DISASSOC_DATA_MAX_INST=128' 1214 | #pragma message(PRINT_MAX_INST(DEV2_WIFI_DE_DISASSOC_DATA_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:3392:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_MULTIMODE_AP_MAX_INST=3' 3392 | #pragma message(PRINT_MAX_INST(DEV2_MULTIMODE_AP_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:3401:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_MULTIMODE_RE_MAX_INST=3' 3401 | #pragma message(PRINT_MAX_INST(DEV2_MULTIMODE_RE_MAX_INST)) | ^~~~~~~ /home/bba/work/NB450/bba_3_0_platform/platform/apps/public/os_libs/include/dm_instanceMaxNum.h:3410:11: note: '#pragma message: <-- DM_MACRO_Redefined --> DEV2_MULTIMODE_ROUTER_MAX_INST=3' 3410 | #pragma message(PRINT_MAX_INST(DEV2_MULTIMODE_ROUTER_MAX_INST)) | ^~~~~~~ src/tr143_load.c: In function 'getIntfNameAndDns': src/tr143_load.c:2566:117: error: expected ')' before '{' token 2566 | IPCP_PATH, OID_DEV2_PPP_INTF_IPCP, sizeof(DEV2_PPP_INTF_IPCP_OBJ), &ipcpstack, &ipcpObj)) != CMM_OK) | ^ | ) 2567 | { | ~ src/tr143_load.c:2565:16: note: to match this '(' 2565 | if ((ret = RDP_WRAP(CMM_UI_INTERNAL, OID_DEV2, rsl_util_getObjFromFullpath( | ^ src/tr143_load.c:2574:9: error: expected expression before '}' token 2574 | } | ^ In file included from /home/bba/work/NB450/bba_3_0_platform/platform/apps/private/user/clibs//cmm_lib/include/rdp.h:21, from src/tr143_common.h:33, from src/tr143_load.h:20, from src/tr143_load.c:15: /home/bba/work/NB450/bba_3_0_platform/platform/apps/private/user/clibs//cmm_lib/include/dm_objId.h:1807:33: error: passing argument 2 of 'rdp_getSpecifiedObj' makes pointer from integer without a cast [-Werror=int-conversion] 1807 | #define OID_DEV2_DHCPV6_CLIENT (353) | ^~~~~ | | | int src/tr143_load.c:2585:60: note: in expansion of macro 'OID_DEV2_DHCPV6_CLIENT' 2585 | if (CMM_OK == rdp_getSpecifiedObj(CMM_UI_NULL, OID_DEV2_DHCPV6_CLIENT, | ^~~~~~~~~~~~~~~~~~~~~~ In file included from src/tr143_common.h:33, from src/tr143_load.h:20, from src/tr143_load.c:15: /home/bba/work/NB450/bba_3_0_platform/platform/apps/private/user/clibs//cmm_lib/include/rdp.h:1922:56: note: expected 'const char *' but argument is of type 'int' 1922 | CMM_RET rdp_getSpecifiedObj(CMM_UIID uiId, const char *pOidStr, | ~~~~~~~~~~~~^~~~~~~ src/tr143_load.c: In function 'loadParseIntfAndURL': src/tr143_load.c:2686:34: error: passing argument 1 of 'tr143_getDefaultIntfName' from incompatible pointer type [-Werror=incompatible-pointer-types] 2686 | tr143_getDefaultIntfName(pIntf, intfLen); | ^~~~~ | | | char * src/tr143_load.c:2353:57: note: expected 'LOAD_MULTI_CFG *' {aka 'struct _LOAD_MULTI_CFG *'} but argument is of type 'char *' 2353 | static CMM_RET tr143_getDefaultIntfName(LOAD_MULTI_CFG *pCfg, char *pIntf, size_t intfLen) | ~~~~~~~~~~~~~~~~^~~~ src/tr143_load.c:2686:41: error: passing argument 2 of 'tr143_getDefaultIntfName' makes pointer from integer without a cast [-Werror=int-conversion] 2686 | tr143_getDefaultIntfName(pIntf, intfLen); | ^~~~~~~ | | | size_t {aka long unsigned int} src/tr143_load.c:2353:69: note: expected 'char *' but argument is of type 'size_t' {aka 'long unsigned int'} 2353 | MM_RET tr143_getDefaultIntfName(LOAD_MULTI_CFG *pCfg, char *pIntf, size_t intfLen) | ~~~~~~^~~~~ src/tr143_load.c:2686:9: error: too few arguments to function 'tr143_getDefaultIntfName' 2686 | tr143_getDefaultIntfName(pIntf, intfLen); | ^~~~~~~~~~~~~~~~~~~~~~~~ src/tr143_load.c:2353:16: note: declared here 2353 | static CMM_RET tr143_getDefaultIntfName(LOAD_MULTI_CFG *pCfg, char *pIntf, size_t intfLen) | ^~~~~~~~~~~~~~~~~~~~~~~~ src/tr143_load.c:2704:41: error: passing argument 1 of 'getIntfNameAndDns' from incompatible pointer type [-Werror=incompatible-pointer-types] 2704 | if (CMM_OK != getIntfNameAndDns(tmpinterface, sizeof(tmpinterface), pCfg->ifName, sizeof(pCfg->ifName), dns, sizeof(dns))) | ^~~~~~~~~~~~ | | | char * src/tr143_load.c:2501:50: note: expected 'LOAD_MULTI_CFG *' {aka 'struct _LOAD_MULTI_CFG *'} but argument is of type 'char *' 2501 | static CMM_RET getIntfNameAndDns(LOAD_MULTI_CFG *pCfg, char interface[], size_t interfaceSize, | ~~~~~~~~~~~~~~~~^~~~ src/tr143_load.c:2704:55: error: passing argument 2 of 'getIntfNameAndDns' makes pointer from integer without a cast [-Werror=int-conversion] 2704 | if (CMM_OK != getIntfNameAndDns(tmpinterface, sizeof(tmpinterface), pCfg->ifName, sizeof(pCfg->ifName), dns, sizeof(dns))) | ^~~~~~~~~~~~~~~~~~~~ | | | long unsigned int src/tr143_load.c:2501:61: note: expected 'char *' but argument is of type 'long unsigned int' 2501 | static CMM_RET getIntfNameAndDns(LOAD_MULTI_CFG *pCfg, char interface[], size_t interfaceSize, | ~~~~~^~~~~~~~~~~ src/tr143_load.c:2704:81: error: passing argument 3 of 'getIntfNameAndDns' makes integer from pointer without a cast [-Werror=int-conversion] 2704 | = getIntfNameAndDns(tmpinterface, sizeof(tmpinterface), pCfg->ifName, sizeof(pCfg->ifName), dns, sizeof(dns))) | ~~~~^~~~~~~~ | | | char * src/tr143_load.c:2501:81: note: expected 'size_t' {aka 'long unsigned int'} but argument is of type 'char *' 2501 | tfNameAndDns(LOAD_MULTI_CFG *pCfg, char interface[], size_t interfaceSize, | ~~~~~~~^~~~~~~~~~~~~ src/tr143_load.c:2704:91: error: passing argument 4 of 'getIntfNameAndDns' makes pointer from integer without a cast [-Werror=int-conversion] 2704 | ameAndDns(tmpinterface, sizeof(tmpinterface), pCfg->ifName, sizeof(pCfg->ifName), dns, sizeof(dns))) | ^~~~~~~~~~~~~~~~~~~~ | | | long unsigned int src/tr143_load.c:2502:39: note: expected 'char *' but argument is of type 'long unsigned int' 2502 | char intfName[], size_t intfNameSize, char dns[], size_t dnsSize) | ~~~~~^~~~~~~~~~ src/tr143_load.c:2704:113: error: passing argument 5 of 'getIntfNameAndDns' makes integer from pointer without a cast [-Werror=int-conversion] 2704 | , sizeof(tmpinterface), pCfg->ifName, sizeof(pCfg->ifName), dns, sizeof(dns))) | ^~~ | | | char * src/tr143_load.c:2502:58: note: expected 'size_t' {aka 'long unsigned int'} but argument is of type 'char *' 2502 | char intfName[], size_t intfNameSize, char dns[], size_t dnsSize) | ~~~~~~~^~~~~~~~~~~~ src/tr143_load.c:2704:118: error: passing argument 6 of 'getIntfNameAndDns' makes pointer from integer without a cast [-Werror=int-conversion] 2704 | eof(tmpinterface), pCfg->ifName, sizeof(pCfg->ifName), dns, sizeof(dns))) | ^~~~~~~~~~~ | | | long unsigned int src/tr143_load.c:2502:77: note: expected 'char *' but argument is of type 'long unsigned int' 2502 | char intfName[], size_t intfNameSize, char dns[], size_t dnsSize) | ~~~~~^~~~~ src/tr143_load.c:2704:23: error: too few arguments to function 'getIntfNameAndDns' 2704 | if (CMM_OK != getIntfNameAndDns(tmpinterface, sizeof(tmpinterface), pCfg->ifName, sizeof(pCfg->ifName), dns, sizeof(dns))) | ^~~~~~~~~~~~~~~~~ src/tr143_load.c:2501:16: note: declared here 2501 | static CMM_RET getIntfNameAndDns(LOAD_MULTI_CFG *pCfg, char interface[], size_t interfaceSize, | ^~~~~~~~~~~~~~~~~ src/tr143_load.c:2850:34: error: passing argument 4 of 'tr143_initSockAddrV6' from incompatible pointer type [-Werror=incompatible-pointer-types] 2850 | &(pCfg->dstAddr), | ^~~~~~~~~~~~~~~~ | | | struct sockaddr_in * In file included from src/tr143_load.h:19, from src/tr143_load.c:15: src/tr143_socketWrapper.h:240:80: note: expected 'TR143_ADDR_V6 *' {aka 'struct sockaddr_in6 *'} but argument is of type 'struct sockaddr_in *' 240 | TR143_ADDR_V6 *pV6Addr, | ~~~~~~~~~~~~~~~^~~~~~~ src/tr143_load.c: In function 'loadInitCFG': src/tr143_load.c:2954:41: error: assignment to expression with array type 2954 | pCfg->ipVersion = download_diag_obj->protocolVersion; | ^ src/tr143_load.c:3016:41: error: assignment to expression with array type 3016 | pCfg->ipVersion = download_diag_obj->protocolVersion; | ^ In file included from <command-line>: src/tr143_load.c: In function 'loadDiag_multi': src/tr143_load.c:3558:21: warning: format '%d' expects a matching 'int' argument [-Wformat=] 3558 | TR143_DEBUG("doru(%c) instance(%d) g_loadNum(%d) max(%d) start", pCfg->doru, g_loadNum, MAX_TR143_LOAD_NUM); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./src/tr143_print.h:39:17: note: in definition of macro 'TR143_WRITE' 39 | args) | ^~~~ src/tr143_load.c:3558:9: note: in expansion of macro 'TR143_DEBUG' 3558 | TR143_DEBUG("doru(%c) instance(%d) g_loadNum(%d) max(%d) start", pCfg->doru, g_loadNum, MAX_TR143_LOAD_NUM); | ^~~~~~~~~~~ src/tr143_load.c:3558:63: note: format string is defined here 3558 | TR143_DEBUG("doru(%c) instance(%d) g_loadNum(%d) max(%d) start", pCfg->doru, g_loadNum, MAX_TR143_LOAD_NUM); | ~^ | | | int src/tr143_load.c: At top level: cc1: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1: note: unrecognized command-line option '-Wno-pragma-pack' may have been intended to silence earlier diagnostics cc1: note: unrecognized command-line option '-Wno-parentheses-equality' may have been intended to silence earlier diagnostics cc1: note: unrecognized command-line option '-Wno-incompatible-function-pointer-types' may have been intended to silence earlier diagnostics cc1: all warnings being treated as errors Makefile:46: recipe for target 'tr143_load.o' failed make[2]: *** [tr143_load.o] Error 1 make[2]: Leaving directory '/home/bba/work/NB450/bba_3_0_platform/platform/apps/private/user/tr143' Makefile:1087: recipe for target 'tr143' failed make[1]: *** [tr143] Error 2 make[1]: Leaving directory '/home/bba/work/NB450/bba_3_0_platform/platform/apps/private/user' /home/bba/work/NB450/bba_3_0_platform/platform/build/makes/Makefile.apps.private:105: recipe for target 'cmm' failed make: *** [cmm] Error 2 quectel@38284d820af1:/home/bba/work/NB450/bba_3_0_platform/platform/build$ 解析错在哪了 给我分析一下这个Bug
10-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值