小编Mic*_*bus的帖子

如何在Unix中将相对路径转换为绝对路径

我想转换

相对路径 - /home/stevin/data/APP_SERVICE/../datafile.txt

绝对路径 - /home/stevin/data/datafile.txt

在Unix中是否有内置工具可以执行此操作或有关如何实现此功能的任何好主意.

史蒂夫

unix

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

使用jQuery检测大写锁定开启/关闭

如何使用jQuery打开/关闭Caps Lock键?我有一个密码textbox,我只允许使用小写字母,因此我不希望Caps Lock键打开.

是否可以使用jQuery检测Caps Lock键的状态?

passwords jquery capslock

22
推荐指数
4
解决办法
4万
查看次数

如何根据名称为Git分支着色?

我在我的本地git存储库中有许多分支,并且我保留了一个特定的命名约定,这有助于我区分最近使用的和旧的分支,或者在merge和不与master合并之间.

有没有办法git branch根据一些基于正则表达式的规则在输出中为分支名称着色而不使用外部脚本?

到目前为止,我提出的最好的方法是运行git branch外部脚本,并创建一个别名.但是,这可能不是很便携......

git colors git-branch

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

检查while循环中调用的程序的退出代码

我想在bash中编写一个循环,它执行直到某个命令停止失败(返回非零退出代码),如下所示:

while ! my_command; do
    # do something
done
Run Code Online (Sandbox Code Playgroud)

但是在这个循环中我需要检查my_command返回的退出代码,所以我尝试了这个:

while ! my_command; do
    if [ $? -eq 5 ]; then
        echo "Error was 5"
    else
        echo "Error was not 5"
    fi
    # potentially, other code follows...
done
Run Code Online (Sandbox Code Playgroud)

但随后特殊变量?变为0循环体内.明显的解决方案是:

while true; do
    my_command
    EC=$?
    if [ $EC -eq 0 ]; then
        break
    fi
    some_code_dependent_on_exit_code $EC
done
Run Code Online (Sandbox Code Playgroud)

如何检查my_command循环体内的(在循环头中调用)的退出代码,而不使用while true具有中断条件的循环重写此示例,如上所示?

bash shell

6
推荐指数
2
解决办法
8681
查看次数

更改列表视图和树视图颜色的最简单方法

我试图找到一种简单的方法来改变WTL或普通Win32代码中的文本和背景listview以及treeview控件的颜色.

我真的不想为这些控件实现完整的所有者绘图,只需更改使用的颜色.

我想确保图像仍以适当的透明度绘制.

有什么建议?

c++ winapi wtl

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

gcc - 2个版本,内联函数的不同处理

最近我在我的项目中遇到了一个问题.我通常在gcc-4中编译它,但在尝试在gcc-3中编译之后,我注意到了对内联函数的不同处理.为了说明这一点,我创建了一个简单的例子:

main.c中:

#include "header.h"
#include <stdio.h>

int main()
{
    printf("f() %i\n", f());
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

file.c:

#include "header.h"
int some_function()
{
    return f();
}
Run Code Online (Sandbox Code Playgroud)

header.h

inline int f()
{
    return 2;
}
Run Code Online (Sandbox Code Playgroud)

当我用gcc-3.4.6编译代码时:

gcc main.c file.c -std=c99 -O2
Run Code Online (Sandbox Code Playgroud)

我得到链接器错误(f的多个定义),如果我删除-O2标志,则相同.我知道,编译器没有内联任何东西,如果它不想要的,所以我认为它放在F中的目标文件中,而不是在这两个的情况下,内联它main.cfile.c,因此多个定义错误.显然,我可以通过制作f静态来解决这个问题,然后,在最坏的情况下,f在二进制文件中有一些.

但我尝试在gcc-4.3.5中使用以下代码编译此代码:

gcc main.c file.c -std=c99 -O2
Run Code Online (Sandbox Code Playgroud)

一切都运行正常,所以我假设f在两种情况下内联的新gcc 并没有f在二进制文件中有任何功能(在gdb中检查我是对的).

但是,当我删除-O2标志时,我得到两个未定义的引用int f().在这里,我真的不明白发生了什么.似乎gcc假设f会内联,所以它没有将它添加到目标文件中,但后来(因为没有-O2)它决定生成对这些函数的调用而不是内联,这就是链接器错误来自的地方.

现在问题是:我应该如何定义和声明我想要内联的简单和小函数,以便它们可以在整个项目中使用而不必担心各种编译器中的问题?并且让所有这些都成为静态的正确的事情吗?或者也许gcc-4被打破了,除非它们是静态的,否则我不应该在几个翻译单元中有多个内联函数的定义?

c compiler-construction gcc inline c99

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

在满足条件的两个相邻列表元素之间插入元素

在python中,在满足条件的任何两个元素之间插入元素的干净方法是什么?

像这样的电话:

insert_between([1,2,3,4,7,8,9,15,16], 0, lambda x,y: x + 1 != y)
Run Code Online (Sandbox Code Playgroud)

应该产生:

[1,2,3,4,0,7,8,9,0,15,16]
Run Code Online (Sandbox Code Playgroud)

有没有比迭代和附加到第二个列表更好的方法?

python

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

如何在 Mono for Android 中实现 GLSurfaceView.IRenderer?

我正在阅读 android OpenGL ES 教程,我明白我必须实现我的渲染器(链接到教程)。

我试图在 Mono for Android 中复制这个,所以我假设我必须实现的接口是GLSurfaceView.IRenderer,但是这个接口实现了Android.Runtime.IJavaObject,这需要IntPtr Handle { get; }.

教程没有提到这个,因为这个问题在java中显然不存在。

我怎样才能实现这个属性?或者是否有更直接的方式在 Mono for Android 中使用 OpenGL ES?

android opengl-es xamarin

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

循环最多运行一次(循环增量从未执行)

我在XCode 6.3.2中收到此错误:

循环最多运行一次(循环增量从未执行)

我试过for (int prob = 0; prob < response; prob++)并收到了同样的错误.

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    unsigned seed;
    int randa, randb, answer, correct;

    seed = static_cast<unsigned int>(time(0));
    srand(seed);

    while (true)
    {
        int response = ' ';
        cout << "How many equations would you like to do? \n";
        cin >> response;

        for (int prob = response; prob > 0; prob--)
        {
            cout << "Calculate the following equation: \n";
            correct = rand() …
Run Code Online (Sandbox Code Playgroud)

c++ for-loop

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