小编elm*_*rco的帖子

git:squash/fixup之前的提交

假设你有:

A-B-C
Run Code Online (Sandbox Code Playgroud)

现在你的构建/测试失败了.修复程序应该合并到A.我当前的工作流程是这样的:

$ git commit -m "fixA"

A-B-C-fixA

$ git rebase -i A~1
Run Code Online (Sandbox Code Playgroud)

并在A中压制fixA,导致:

A'-B-C
Run Code Online (Sandbox Code Playgroud)

是否有命令可以执行以下操作:

A-B-C + (index with fix for A)

$ git commit -supperdupper A 
Run Code Online (Sandbox Code Playgroud)

结果:

A'-B-C
Run Code Online (Sandbox Code Playgroud)

git

24
推荐指数
2
解决办法
3万
查看次数

显示具有不同字符的选项卡(Emacs)

我很高兴有一个非常柔和的字符">>"而不是白色空间,像这样:

单声道开发http://primates.ximian.com/~miguel/pictures/Valabinding-classpad.png

我怎样才能在Emacs中实现这一目标?

emacs configuration tabs character

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

何时"内联"无效?(在C中)

有些人喜欢使用inline关键字C,并在标题中添加大功能.你什么时候认为这是无效的?我认为它有时甚至很烦人,因为它很不寻常.

我的原则是inline应该用于非常频繁访问的小函数,或者用于实际类型检查.无论如何,我的品味指导我,但我不知道如何最好地解释为什么inline对大功能不那么有用的原因.

在这个问题中,人们建议编译器可以更好地猜测正确的事情.这也是我的假设.当我尝试使用这个参数时,人们回复它不适用于来自不同对象的函数.好吧,我不知道(例如,使用GCC).

谢谢你的回答!

c inline

15
推荐指数
4
解决办法
1594
查看次数

轮廓引导优化(C)

谁知道这个编译器功能?GCC似乎支持这一点.它是如何工作的?潜在收益是多少?在哪种情况下它很好?内环?

(这个问题是具体的,不是关于一般的优化,谢谢)

c c++ optimization gcc pgo

12
推荐指数
2
解决办法
4606
查看次数

如何链接动态库(.so)和静态libc.a

我试图链接静态libc.a和动态库.so失败.

我已经尝试过以下方法:

  1. 首先,我测试所有动态:

    • gcc -shared libtest.c -o libtest.so
    • gcc -c main.c -o main.o
    • gcc main.o -o test -L.-ltest

    它正在工作(编译和执行)

  2. 其次我测试我想要的东西(动态lib和静态libc):

    • gcc -shared libtest.c -o libtest.so
    • gcc -c main.c -o main.o
    • gcc main.o -o test libtest.so /usr/lib/libc.a

    它正在编译,但在执行时,它是段错误的!一个strace显示它正在尝试访问libc.so !!!

  3. 最后,我尝试编译一个简单的程序,没有引用动态库

    • gcc -static main.c - >编译好,运行正常
    • gcc main.c /usr/lib/libc.a - >编译好,运行:segmentation fault(一个strace显示它可以访问libc.so)

怎么做?

谢谢

linker gcc shared-libraries static-libraries

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

小工具/脚本可以帮到你这么多?

最重要的是,特别是对于C/Linux开发人员:

是否有一些你无法工作的工具/脚本,但是你觉得别人不知道这么多?

例如,我刚刚发现:

scripting

5
推荐指数
1
解决办法
520
查看次数

行号和复制/粘贴(HTML/CSS)

我可以使用什么JS/CSS技巧来防止在有序列表中复制和粘贴数字?

<OL>
<LI>A
<LI>B
<LI>C
</OL>
Run Code Online (Sandbox Code Playgroud)

  1. 一个
  2. 乙
  3. C

如果它不可行,有哪些替代方案?

谢谢

html javascript css

4
推荐指数
1
解决办法
4359
查看次数

等待子孙

如何才能等到所有子孙都退出而不阻塞信号处理程序?这是我迄今为止的尝试。

#include <signal.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>

int run = 1;

void handler(int sig, siginfo_t *info, void *uap)
{
    int exit_code;

    printf("sigchld pid %d\n", info->si_pid);
    pid_t pid = waitpid(-1, &exit_code, 0);
    if (pid == -1) {
        perror("waitpid()\n");
    } else {
        printf("waitpid returned %d\n", pid);
    }
    // set run = 0 when all children exit

    printf("end of sigchild handler\n");
}

void main() {

    struct sigaction chld;
    chld.sa_sigaction = handler;
    chld.sa_flags = SA_NOCLDSTOP | SA_SIGINFO;
    sigaction(SIGCHLD, …
Run Code Online (Sandbox Code Playgroud)

c unix signals

4
推荐指数
1
解决办法
3489
查看次数

设置线程/ proc/PID/cmdline?

在Linux/NPTL上,线程被创建为某种进程.

我可以看到我的一些进程有一个奇怪的cmdline:

cat /proc/5590/cmdline 
hald-addon-storage: polling /dev/scd0 (every 2 sec)
Run Code Online (Sandbox Code Playgroud)

你知道如何为我的进程的每个线程做到这一点吗?这对调试非常有帮助.

/我现在正在调查HAL来源

谢谢

linux debugging multithreading cmd nptl

3
推荐指数
2
解决办法
2909
查看次数

是否有标准指针大小声明?

我有结构填充char(哎呀,我的坏).我想减去一个指针大小.您知道标准指针大小声明,还是标准宏?

c standards struct pointers

3
推荐指数
2
解决办法
1573
查看次数

嵌套调用可能导致C中未初始化的参数?

是否已len正确初始化且安全set_array通话?

void object_copy (Object* self, Object* obj) {
    int len;
    object_set_array (self, object_get_array (obj, &len), len);
}
Run Code Online (Sandbox Code Playgroud)

如果没有,你会推荐什么?

c unsafe

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