嵌入式C语言中常用类型前缀
| 数据类型 | 前缀 |
|---|---|
| uint8_t | uc |
| int8_t | c |
| uint16_t | ui |
| int16_t | i |
| uint32_t | ul |
| int32_t | l |
| 普通指针 | p |
| 函数指针 | fn |
| 数据类型 | 前缀 |
|---|---|
| uint8_t | uc |
| int8_t | c |
| uint16_t | ui |
| int16_t | i |
| uint32_t | ul |
| int32_t | l |
| 普通指针 | p |
| 函数指针 | fn |
__xdata volatile int var0;
__xdata volatile int var1 = 1;
void main(void) {
// 功能代码
}以上这个简单到发指的程序,在STC8A8K64U中遇到个奇怪问题:var0的初始值有时候不是0,而var1的初始值也不是1,是一些奇怪的随机值。
第一感觉就是XRAM的初始化可能存在BUG,于是稍微了解了一下SDCC中XRAM初始化的原理,没想到还真发现了一些好玩的东西,给大家做个分享。
slmbr.vbs /xpr
slmgr.vbs /upk
slmgr.vgs /ipk {GVLK}
slmgr.vbs /skms {ADDR}
slmgr.vbs /ato说明:
{GVLK}按系统版本替换成KMS密钥{ADDR}替换成KMS服务器地址{
"Dhcp4": {
"server-tag": "DHCPv4-A",
"interfaces-config": {
"interfaces": [
"enpXsY"
],
"dhcp-socket-type": "raw"
},
"control-socket": {
"socket-type": "unix",
"socket-name": "/tmp/kea-dhcp4-ctrl.sock"
},
"hooks-libraries": [
{
"library": "/usr/lib64/kea/hooks/libdhcp_mysql_cb.so"
}
],
"config-control": {
"config-databases": [
{
"type": "mysql",
"name": "kea",
"user": "kea",
"password": "******",
"host": "host",
"port": 3306
}
],
"config-fetch-wait-time": 20
},
"lease-database": {
"type": "mysql",
"name": "kea",
"user": "kea",
"password": "******",
"host": "host",
"port": 3306
},
"hosts-database": {
"type": "mysql",
"name": "kea",
"user": "kea",
"password": "******",
"host": "host",
"port": 3306
},
"loggers": [
{
"name": "kea-dhcp4",
"output_options": [
{
"output": "/var/log/kea/dhcp4.log"
}
],
"severity": "INFO",
"debuglevel": 0
}
]
}
} dnf install epel-release
dnf config-manager --set-enabled crb
dnf install cmake automake autoconf g++ libtool flex
dnf install openssl-devel libdnet-devel hwloc-devel luajit-devel libpcap-devel pcre-devel xz-devel zlib-devel
git clone https://github.com/snort3/libdaq.git
./bootstrap
./configure
make install
ldconfig
git clone https://github.com/snort3/snort3.git
./configure_cmake.sh
cd build
make -j $(nproc)
make install