我正在开发一个使用Win32的HeapAlloc的通用库
MSDN没有提到Win32的HeapAlloc的对齐保证,但我真的需要知道它使用的对齐方式,所以我可以避免过多的填充.
在我的机器上(vista,x86),所有分配都以8个字节对齐.这对其他平台也是如此吗?
我正在尝试使用构建一系列包pbuilder.这些包依赖于彼此,所以为了方便,我有一个本地存储库,我管理使用它reprepro.此本地存储库包含al依赖项(来自以前的版本).
root@openpanel-builder ~ # export REPREPRO_BASE_DIR=/root/repository
root@openpanel-builder ~ # reprepro list lenny libgrace
lenny|main|amd64: libgrace 0.9.38.1230
lenny|main|i386: libgrace 0.9.38.1230
lenny|main|source: libgrace 0.9.38.1230
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试构建依赖包时,它找不到这些依赖项.
root@openpanel-builder ~ # pbuilder build --basetgz /var/cache/pbuilder/lenny-i386.tgz --bindmounts /root/repository /tmp/bldqaJocd/openpanel-core_0.9.12.368.dsc
I: using fakeroot in build.
Current time: Wed Dec 8 10:46:17 UTC 2010
pbuilder-time-stamp: 1291805177
Building the build Environment
-> extracting base tarball [/var/cache/pbuilder/lenny-i386.tgz]
-> creating local configuration
-> copying local configuration
-> mounting /proc filesystem
-> mounting /dev/pts filesystem
-> Mounting /root/repository …Run Code Online (Sandbox Code Playgroud) 我有一个脚本,它本质上是在不同的机器上使用相同名称的可执行文件的包装器.为了举例,我将在这里包装printf.我当前的脚本如下所示:
#!/bin/bash
ssh user@hostname.tld. printf "$@"
Run Code Online (Sandbox Code Playgroud)
不幸的是,当其中一个参数包含空格时,这会中断,例如,我希望以下命令给出相同的输出:
~$ ./wrap_printf "%s_%s" "hello world" "1"
hello_world1_
~$ printf "%s_%s" "hello world" "1"
hello world_1
Run Code Online (Sandbox Code Playgroud)
当涉及(转义)换行符时,问题变得更加严重.我怎么能在这里正确地逃避我的论点?