小编sig*_*ice的帖子

在上下文中绘图时如何翻转坐标?

我从UIImage创建一个上下文,然后我用它绘制它

CGContextDrawImage(bitmapContext,
                   CGRectMake(0, 0,
                              originalImage.size.width,
                              originalImage.size.height),
                   oImageRef); 
Run Code Online (Sandbox Code Playgroud)

由于石英中的翻转坐标系,图像呈现倒置.我该如何解决这个问题?

iphone cocoa-touch core-graphics uikit

10
推荐指数
2
解决办法
9070
查看次数

范围与ctags的功能

我是ctags的忠实粉丝所以我想知道我是否有cscope,我会在两个程序中受益更多.似乎后者具有与ctags相同的特征,即便于找到符号.

有哪些功能范围可以通过VIM进一步提高我的工作效率?

谢谢

c c++ vim ctags cscope

10
推荐指数
1
解决办法
3181
查看次数

没有OS的TCP/IP协议栈

我正在寻找一个可以在没有操作系统的情况下使用的TCP/IP堆栈.我们的客户对中断感到"厌恶",并且不希望在我们正在构建的嵌入式主板上使用真正的操作系统.由于我们将仅使用50至100 MHz的臂,因此希望尽可能多地将功能移至FPGA.而且我很确定GPL许可的东西对这个客户来说是不可接受的.(由于与之相关的法律泥潭.他们希望在软件完成后拥有完全无限制的软件权利.)

embedded arm tcp bare-metal

10
推荐指数
1
解决办法
1万
查看次数

如何在Windows上编译和运行xv6?

我们正在课程中教授xv6.目前我们使用windows中的putty登录我们学校的linux服务器.

在那里,我们使XV6的源代码更改(使用vim)然后编译并在运行QEMU简单

make clean
make
make qemu-nox
Run Code Online (Sandbox Code Playgroud)

它并不总是可以连接到他们的服务器,因此我希望能够编译和运行带有Windows的xv6(显然在一些模拟器中).

我可以用什么模拟器进行上述工作?(编辑代码,编译和运行)以及如何?

unix windows compilation virtual-machine xv6

9
推荐指数
2
解决办法
5482
查看次数

这个C函数在运行时找到机器的字节顺序有什么问题?

这就是我今天在接受采访时提出的.

int is_little_endian(void)
{
    union {
        long l;
        char c;
    } u;

    u.l = 1;

    return u.c == 1;
}
Run Code Online (Sandbox Code Playgroud)

我的面试官坚持认为c并且l不能保证在同一地址开始,因此,应该改变联盟说,char c[sizeof(long)]并且应该将返回值更改为u.c[0] == 1.

工会成员可能不会在同一地址开始是否正确?

c endianness

8
推荐指数
2
解决办法
609
查看次数

如何判断C整数变量是否已签名?

作为练习,我想写一个宏,它告诉我是否签署了整数变量.这就是我到目前为止所得到的结果,如果我在使用gcc -fsigned-char或-funsigned-char的char变量上尝试这个结果,我会得到结果.

#define ISVARSIGNED(V) (V = -1, (V < 0) ? 1 : 0) 
Run Code Online (Sandbox Code Playgroud)

这是便携式吗?有没有办法在不破坏变量值的情况下执行此操作?

c gcc integer c-preprocessor

8
推荐指数
3
解决办法
1661
查看次数

使用gdb在xv6上调试用户代码

我正在做一个基于xv6的操作系统类,我编写了一个需要在其上运行的程序.

我知道我可以调试内核代码,make qemu-gdb但我不确定如何调试我自己的用户程序.

可以说我想调试cat,我该怎么做呢?

谢谢

PS是不是有xv6标签?这个问题是否应该在这里?

gdb qemu xv6

8
推荐指数
2
解决办法
4907
查看次数

如何将本地项目添加到由quicklisp配置的asdf

我想通过asdf向已知项目添加一个本地项目,但由于*central-registry*aslis由quicklisp 安装和配置,并且指向"#P/home/user/quicklisp/quicklisp /",其中包含.lisp文件.我不知道该怎么做,因为手册解释了目录中的符号链接会做到这一点,但我不想在quicklisp里乱搞.(它确实可以作为修补程序使用!)

因此:如何将本地项目添加到由quicklisp安装和配置的asdf(NOT QUICKLISP)?

common-lisp asdf quicklisp

8
推荐指数
2
解决办法
4188
查看次数

什么是PCRE的PCRE_PARTIAL的Perl等价物?

有没有办法让Perl正则表达式进行部分匹配,即以下表达式的某些变体应该返回true.

perl -le 'print "aa" =~ /aaaa/'
Run Code Online (Sandbox Code Playgroud)

这是执行此操作的等效PCRE代码.

$ cat partial.c 
#include <stdio.h>
#include <pcre.h>

int main(void)
{
    const char *errptr;
    int erroffset, result;
    pcre *re;

    re = pcre_compile("aaaa", 0, &errptr, &erroffset, NULL);
    if (re == NULL)
        return 42;

    result = pcre_exec(re, NULL, "aa", 2, 0, PCRE_PARTIAL, NULL, 0);

    printf("%d\n", result == PCRE_ERROR_PARTIAL);

    return 0;
}

$ make partial LDFLAGS=-lpcre
cc   -lpcre  partial.c   -o partial

$ ./partial 
1
Run Code Online (Sandbox Code Playgroud)

编辑:pcretest工具可用于演示部分匹配和非部分匹配之间的区别.还包括在评论中匹配@revo建议的正则表达式的结果.

$ pcretest
PCRE version 8.41 2017-07-05

  re> /aaaa/

data> …
Run Code Online (Sandbox Code Playgroud)

c regex perl pcre

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

mmap(2)vs mmap(3)

有谁知道mmap(2)和之间的区别mmap(3)是什么?第3节描述为"本章描述了除第2章中描述的库函数之外的所有库函数,它们实现了系统调用." 不mmap(3)执行系统调用?

阅读这两个手册页,我看到它mmap(2)似乎接受了比它更多种各样的标志mmap(3),并声称能够映射设备I/O空间. mmap(3)声称能够将"共享内存对象"和"类型化内存对象"映射到文件中,但未提及设备I/O.

由于这两个函数具有相同的名称,我甚至不确定如何选择一个而不是另一个.

linux memory mmap

7
推荐指数
1
解决办法
2337
查看次数