【c】跨平台c系统环境变量获取库

简述

一个简单的,跨平台c环境变量获取库.

c语言获取环境的变量的方式,window和linux都是相同的方式,通常使用getenv接口进行获取环境变量,但是往往我们获取环境变量的时候,常需要做一定的判断:

  • 环境变量未获取到,提示错误(assert),终止程序运行。
  • 环境变量未获取到,使用自定义默认值,初始化环境变量。
  • bool类型环境变量设置为 yes,true,y,t 等等,能直接转换为bool类型

源代码

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <string.h>

typedef enum {
   
    ENV_FALSE = 0,
    ENV_TRUE = 1
} env_bool_t;

#ifdef _WIN32
#define strcasecmp(s1, s2) stricmp(s1, s2)
#endif

static env_bool_t zstr(const char *s)
{
   
    return (s == NULL || s[0] == '\0') ? ENV_TRUE : ENV_FALSE;
}

static const char* env_get_string_imp(const char* key, const char* default_value, env_bool_t must_get)
{
   
    char* val = getenv(key);
    if (!zst
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
跨平台交叉编译是指在一个平台上编译生成在另一个不同平台上运行的可执行文件。对于使用 GCC 编译器进行跨平台交叉编译,你需要使用交叉编译工具链。 以下是一个简单的示例,演示如何使用 GCC 进行跨平台交叉编译: 1. 首先,你需要获取适用于目标平台的交叉编译工具链。这个工具链包含了适用于目标平台的编译器、以及其他必要的工具。一般来说,你可以从交叉编译工具链的官方网站下载。 2. 安装交叉编译工具链,并确保将其添加到环境变量中。这样,你就能够在命令行中使用交叉编译工具链。 3. 现在,你可以使用交叉编译工具链来编译你的程序。假设你想将程序编译为在 ARM 架构上运行的可执行文件。使用以下命令: ``` $ arm-linux-gnueabi-gcc -o output_file input_file.c ``` 这里的 "arm-linux-gnueabi-gcc" 是交叉编译工具链提供的 GCC 编译器。"-o output_file" 指定了生成的可执行文件的输出路径和名称。"input_file.c" 是你要编译的源代码文件。 4. 执行以上命令后,GCC 将使用交叉编译工具链来生成适用于 ARM 架构的可执行文件。你可以将该可执行文件复制到目标平台上,并在目标平台上运行它。 请注意,跨平台交叉编译可能会涉及到一些特定的配置和参数,具体取决于你使用的工具链和目标平台。因此,建议你参考相关的文档和指南,以确保正确地进行跨平台交叉编译。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值