小编dub*_*uga的帖子

限制git存储库中的文件大小

我目前正在考虑将我的VCS(从subversion)更改为git.是否可以在git存储库中的提交中限制文件大小?对于例如颠覆,有一个钩子:http://www.davidgrant.ca/limit_size_of_subversion_commits_with_this_hook

根据我的经验,人们,特别是那些没有经验的人,有时会倾向于提交不应该进入VCS的文件(例如大文件系统图像).

git version-control

28
推荐指数
3
解决办法
9978
查看次数

在Python中读取和解释二进制文件中的数据

我想逐字节读取文件并检查每个字节的最后一位是否设置:

#!/usr/bin/python

def main():
    fh = open('/tmp/test.txt', 'rb')
    try:
        byte = fh.read(1)
        while byte != "":
            if (int(byte,16) & 0x01) is 0x01:
                print 1
            else:
                print 0
            byte = fh.read(1)
    finally:
        fh.close

    fh.close()

if __name__ == "__main__":
        main()
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Traceback (most recent call last):
  File "./mini_01.py", line 21, in <module>
    main()
  File "./mini_01.py", line 10, in main
    if (int(byte,16) & 0x01) is 0x01:
ValueError: invalid literal for int() with base 16: '\xaf'
Run Code Online (Sandbox Code Playgroud)

有人有想法吗?我没有成功使用struct和binascii模块.

python binary bitwise-operators

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

GNU中的递归作业的并行化

我正在寻找一种优雅的方式来实现GNU make中的作业并行化.这是我到目前为止所做的一个例子.以串行方式处理目录dir-1,dir-2和dir-3,这是合乎逻辑的,但不是我的意图:

SUBDIRS=dir-1 dir-2 dir-3

default: all

all:
  @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE)); done

.PHONY: clean

clean:
  @for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) clean); done
Run Code Online (Sandbox Code Playgroud)

有没有办法支持使用"-j"选项并行处理这些目录而不为每个目录指定特定目标?

parallel-processing makefile

14
推荐指数
2
解决办法
8132
查看次数

在 Linux 中编写由多个文件组成的环回设备

嘿嘿,

losetup在 Linux 中使用文件来模拟块设备相对容易:

如果我想根据我从中获取内容的多个文件对自己的块设备进行编程,任何人都可以给我一个提示,告诉我要寻找什么吗?为了您的理解,我想说从 file1 中取出字节 1-500 和 1.000-3.000,从 file2 中取出字节 501-999 和字节 3.001 到 5.000,将它们作为组合块设备提供。我最喜欢的编程语言是 Python,我希望尽可能在用户空间中编写程序。

对于Windows我找到了这样的实现。它称为 FileDisk 和 HttpDisk,可以在此处找到:

预先致谢并致以问候,雷纳

linux raid file block-device

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

CMake:是否可以仅从静态库构建可执行文件而无需源代码?

我想只从静态库(即.a文件)构建一个可执行文件.这是可能的,因为该main()函数包含在其中一个库中.

add_executable()功能要求我提供至少一个源文件.但这不是我想要做的.

cmake

5
推荐指数
2
解决办法
7027
查看次数

AngularJS:在服务中的区间函数中使用"this"

如何通过"this"关键字periodicFetch()调用它$interval

这是我的角度应用程序的代码:

angular.module('myapp', []);

var MyService = function($rootScope, $http, $interval) {
    this.variables = {};

    this.registerVariable = function(varName) {
        this.variables[varName] = null;
    };

    this.periodicFetch = function() {
        console.log(this.variables);
    };

    this.run = function() {
        this.periodicFetch();
        $interval(this.periodicFetch, 1000);
    };
};

angular.module('myapp').service('myService',
        ['$rootScope', '$http', '$interval', MyService]);

angular.module('myapp').run(function(myService) {
    myService.registerVariable('foo');
    myService.run();
});
Run Code Online (Sandbox Code Playgroud)

目前的输出是:

Object {foo: null}
undefined
undefined
undefined
...
Run Code Online (Sandbox Code Playgroud)

它似乎适用于没有的第一次调用$interval.但在$interval价值内this.variables似乎是undefined.

javascript angularjs angularjs-service

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

从交互式IPython shell中的函数调用shell命令

我刚刚玩过IPython.目前我想知道如何在函数中运行带有python变量的shell命令.例如:

def x(go):
    return !ls -la {go}

x("*.rar")
Run Code Online (Sandbox Code Playgroud)

这给了我"sh:1:语法错误:文件结束意外".有谁可以给​​我一个线索,让我的"x"函数调用像ls -la*.rar这样的?我的工作目录中有*.rar文件.

Rainer,提前谢谢你

python shell function ipython

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

通过shell-wrapper脚本向C程序添加空格的命令行参数

如何让我的程序接受带空格的命令行参数?

还有另一个编辑:我刚认识到该程序是从一个shell脚本启动的,该脚本为程序的执行设置了环境.由于有一些外部库,LD_LIBRARY_PATH因此设置为当前工作目录:

#!/bin/sh

ARCH=`uname -m`
export LD_LIBRARY_PATH=".:lib/magic/linux-${ARCH}"

./data_sniffer.bin $*

exit $?
Run Code Online (Sandbox Code Playgroud)

这个问题肯定与此有关$*.有没有正确转发命令行参数的解决方案?

以下是来自的代码段main():

if (stat(argv[1], &lStat) != 0)
{   
    fprintf(stderr, "Cannot stat(2) given file: %s. \n", argv[1]);
    return EXIT_FAILURE;
}   
Run Code Online (Sandbox Code Playgroud)

我正在使用以下参数启动我的程序:

./data_sniffer /mnt/pod/movies/some\ test\ movie\ file.avi
Run Code Online (Sandbox Code Playgroud)

生成的错误消息如下所示:无法stat(2)给定文件:/ mnt/pod/movies/some.

谁知道这里有什么问题?我认为我不是第一个遇到这个问题的人(尽管我在这里找不到相关的问题).

c command-line-arguments

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

CPack / CMake:每个 CPACK_GENERATOR 的安装前缀不同

如何为不同的 CPACK_GENERATOR 指定不同的安装前缀?

例如:

  • DEB 包应该安装到 /opt/project
  • TGZ 存档应仅包含project目录

文档中我了解到我必须使用该CPACK_PROJECT_CONFIG_FILE变量。使用它,应该可以实现预期的目标。但是,它对我不起作用。

这是我的 CPack 配置:

set(CPACK_GENERATOR "DEB;TGZ")
set(CPACK_PROJECT_CONFIG_FILE ${CMAKE_SOURCE_DIR}/cmake/package.linux.txt)
Run Code Online (Sandbox Code Playgroud)

这是我的${CMAKE_SOURCE_DIR}/cmake/package.linux.txt文件:

IF (CPACK_GENERATOR MATCHES "DEB")
    set(CPACK_NATIVE_INSTALL_DIRECTORY "/opt")
    set(CMAKE_INSTALL_PREFIX "/opt")
    set(CPACK_PACKAGING_INSTALL_PREFIX "/opt")
    set(CPACK_INSTALL_DIRECTORY "/opt")
ELSEIF(CPACK_GENERATOR MATCHES "TGZ")
    set(CPACK_NATIVE_INSTALL_DIRECTORY "")
    set(CMAKE_INSTALL_PREFIX "")
    set(CPACK_PACKAGING_INSTALL_PREFIX "")
    set(CPACK_INSTALL_DIRECTORY "")
ENDIF()
Run Code Online (Sandbox Code Playgroud)

我已确保使用MESSAGE()指令解析所有文件,但我的包的前缀始终为/usr/local.

cmake cpack

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

在 Linux 上用 C 和汇编语言为 x64 编写自定义加载程序

我想在 x64 Linux 上编写自己的二进制代码加载器。将来我希望能够自己执行链接步骤,从而能够从.o对象文件调用代码。但现在,我想从已链接的可执行二进制文件中调用函数。

为了创建一些可以从“外部”调用的函数,我从以下源代码开始:

void foo(void)
{
  int a = 2;
  int b = 3;
  a + b;
}

int main(void)
{
  foo();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是foo()我想使用加载程序调用的函数。使用以下命令链

gcc -o /tmp/main main.c
strip -s /tmp/main
objdump -D /tmp/main
Run Code Online (Sandbox Code Playgroud)

我获得了该函数的汇编代码foo(),如下所示:

...
0000000000001125 <foo>:
    1125:   55                      push   %rbp
    1126:   48 89 e5                mov    %rsp,%rbp
    1129:   c7 45 fc 02 00 00 00    movl   $0x2,-0x4(%rbp)
    1130:   c7 45 f8 03 00 00 00    movl   $0x3,-0x8(%rbp)
    1137:   90 …
Run Code Online (Sandbox Code Playgroud)

c assembly linker compilation

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

[Libre | Open] Office中当前文档的路径

如何确定OpenOffice或LibreOffice文档中当前打开的文档的路径?我想将路径转发到外部应用程序.

更具体地说,我希望在全屏模式下通过视频文件启动外部播放器:

Shell("/usr/bin/mplayer", 2, """ -fs"" some-file-in-same-dir-as-document.mp4")
Run Code Online (Sandbox Code Playgroud)

对于最后一个参数,我需要到当前打开的文档的路径才能追加它.不指定路径导致引用当前路径(由CurDir()函数给出),这是不同的.

LibreOffice宏实际上有一个很好的参考吗?我发现的唯一相对较好(但难以搜索)的文档是Andrew Pitonyak的" OpenOffice Macros Explained ".

macros libreoffice libreoffice-basic

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

Xtext 2.10 中的generateJavaMain 的等价物是什么?

为了使用较旧的 Xtext 版本创建独立的命令行编译器,必须将以下内容添加到 .mwe2 工作流定义中(根据《使用 Xtext 和 Xtend 实现特定于域的语言》中的第 94 页,Packt 发布,Lorenzo Bettini) :

fragment = generator.GeneratorFragment {
     generateJavaMain = true
}
Run Code Online (Sandbox Code Playgroud)

这生成了一个可用作可运行 JAR 文件中的入口点的主类。

我怎样才能在 Xtext 2.10 中实现这个目标?

java eclipse command-line xtext

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

对象代理的XML-RPC

有没有什么理由不将XML-RPC用于对象代理服务器/客户端架构?也许类似"没有它已经过时,现在有X".

为了提供更多细节:我想构建一个框架,允许标准化交互和许多小工具(例如命令行工具)之间的结果交换.如果有人想要集成另一个工具,她会为此目的编写一个包装器.例如,包装器可以将工具的STDOUT转换为架构可用的对象.

目前我正在考虑用Python编写概念证明服务器.之后它可以用C/C++重写.为了确保客户端可以用尽可能多的语言编写,我想到了使用XML-RPC.CORBA似乎过于臃肿,因为服务器不应该太复杂.

感谢您的建议和意见,Rainer

python rpc corba xml-rpc

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