__xdata volatile int var0;
__xdata volatile int var1 = 1;

void main(void) {
    // 功能代码
}

以上这个简单到发指的程序,在STC8A8K64U中遇到个奇怪问题:var0的初始值有时候不是0,而var1的初始值也不是1,是一些奇怪的随机值。
第一感觉就是XRAM的初始化可能存在BUG,于是稍微了解了一下SDCC中XRAM初始化的原理,没想到还真发现了一些好玩的东西,给大家做个分享。

- 阅读剩余部分 -

{
    "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