小编Ros*_*her的帖子

Rake构建一个C应用程序

我正在尝试迁移我一直致力于使用GNU Make的Rake insead的C应用程序.文件树是这样的:

project
??? LICENSE.md
??? Makefile
??? Rakefile
??? README.md
??? src
    ??? debug.h
    ??? main.c
    ??? queue.c
    ??? queue.h
    ??? ui
        ??? ui.c
        ??? ui.h
Run Code Online (Sandbox Code Playgroud)

我想在一个单独的build目录中构建每个文件,并.c使用gccclang在deps目录中生成每个文件的依赖项.

我似乎无法找到如何编写Rakefile来编译C项目的任何示例.有没有人有链接或一些建议来帮助我开始?

编辑:我有一个临时的Rakefile,它完成了我想要它最终完成的一些任务.我想检测是否安装了clang并使用clang或gcc.

这是我目前的Rakefile https://github.com/Rostepher/spoticli/blob/master/Rakefile

c ruby rake

8
推荐指数
1
解决办法
1154
查看次数

检查参数是否为NULL的好习惯

我目前正在研究字符串度量库,它计算字符串之间的各种距离并报告字符串彼此之间的相似程度.例如Levenshtein距离(https://en.wikipedia.org/wiki/Levenshtein_distance).

unsigned levenshtien(const char *str1, const char *str2)
{
    // check for NULL pointers
    if (str1 == NULL && str2 == NULL)
        return 0;

    if (str1 != NULL && str2 == NULL)
        return strlen(str1);

    if (str1 == NULL && str2 != NULL)
        return strlen(str2);

    // calculate length of strings
    size_t str1_len = strlen(str1);
    size_t str2_len = strlen(str2);

    // handle cases where one or both strings are empty
    if (str1_len == 0)
        return (str2_len == 0) ? 0 : …
Run Code Online (Sandbox Code Playgroud)

c

2
推荐指数
1
解决办法
890
查看次数

标签 统计

c ×2

rake ×1

ruby ×1