小编Ale*_*all的帖子

在Perl中将字符串中的十六进制数转换为负数

我有一堆数字表示为日志文件中的十六进制字符串,由Perl脚本解析,而且我对Perl相对缺乏经验.

这些数字中的一些实际上是带符号的负数,即0xFFFE == -2表示为16位有符号整数时.

有人可以告诉我从FFFEPerl中的字符串中获取此数字的签名表示的规范方法,或以其他方式指向我的教程或其他资源吗?

perl parsing signed numbers

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

C指针与结构的直接成员访问

假设我有一个类似以下的结构......

typedef struct {
  int WheelCount;
  double MaxSpeed;
} Vehicle;
Run Code Online (Sandbox Code Playgroud)

...我有一个这种类型的全局变量(我很清楚全局变量的缺陷,这是一个嵌入式系统,我没有设计,为此他们是一个不幸但必要的邪恶. )直接或通过指针访问结构成员是否更快?即

double LocalSpeed = MyGlobal.MaxSpeed;
Run Code Online (Sandbox Code Playgroud)

要么

double LocalSpeed = pMyGlobal->MaxSpeed;
Run Code Online (Sandbox Code Playgroud)

我的任务之一是简化和修复最近继承的嵌入式系统.

c embedded pointers global micro-optimization

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

Libtool声称它在交叉编译期间不支持共享库

我正在尝试为运行busybox 1.13的ARM嵌入式计算机构建expat(2.0.0)XML解析库,在./configure期间,我收到错误:

checking if libtool supports shared libraries... no
Run Code Online (Sandbox Code Playgroud)

我已经指定了我的gcc,g ++,ar,ranlib,strip等等,这些都是配置工具找到的,我在Ubuntu 12.10上运行了最新的libtool(编写本文时为2.4.2).那么为什么说libtool不支持共享库呢?我的configure命令是:

./configure --host=arm --enable-shared CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++ AR=arm-none-linux-gnueabi-ar RANLIB=arm-none-linux-gnueabi-ranlib STRIP=arm-none-linux-gnueabi-strip
Run Code Online (Sandbox Code Playgroud)

...并且呼叫的完整输出是:

    configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking build system type... i686-pc-linux-gnu
checking host system type... arm-unknown-none
checking for arm-gcc... arm-none-linux-gnueabi-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we …
Run Code Online (Sandbox Code Playgroud)

arm cross-compiling libtool expat-parser

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

C#中的Stack <>实现

我最近一直在实现递归目录搜索实现,我正在使用Stack来跟踪路径元素.当我使用string.Join()加入路径元素时,我发现它们被颠倒了.当我调试方法时,我查看了堆栈,发现元素本身在Stack的内部数组中是相反的,即最近的Push()ed元素位于内部数组的开头,而最近最近的Push() ed元素位于内部数组的末尾.这似乎是落后的,非常反直觉.有人可以告诉我为什么微软会以这种方式实现堆栈?

c# stack

9
推荐指数
3
解决办法
3285
查看次数

可靠构建BeagleBone Black的Linux内核

是否可以在任何地方为BeagleBone Black平台构建可靠的Linux内核?我按照这里的说明,以及许多其他地方,没有一个工作.这两个模块都没有构建(.ko文件只是没有构建,在上面的链接的情况下找不到),或者缺少内核的构建目标.我在32位x86 Ubuntu 14.04上使用Linaro ARM编译器(arm-linux-gnueabihf-gcc)交叉编译.

具体来说,我已经检查了BeagleBone Git存储库的源代码,分支3.8,3.11,3.12,3.13和3.14.我也检查了第三方混帐克隆这里.我遇到的问题如下:

  • 3.8:内核将编译(带有大量警告),但由于修补程序中运行patch.sh时修补程序中的错误导致模块无法编译.
  • 3.11:内核将编译(带有大量警告),但uImage-dtb.am335x-boneblack Make目标不会.编译模块失败,因为至少有一个文件具有不正确的补丁,导致产生错误的C语法.
  • 3.12:内核将与模块一起编译(带有大量警告).将内核和模块复制到电路板成功.引导内核失败,一旦启动从U-Boot中的引导命令开始,就会冻结.
  • 3.13,3.14:内核编译因许多语法错误而失败.
  • 来自TowerTech的3.8.13+:内核编译成功(有大量警告),模块编译失败,同样是由于patch.sh的补丁不正确.

在我可以编译内核的情况下,我使用U-Boot中的TFTP引导服务器将其复制到内存中的新鲜的vanilla板上,并在内存中引导内核.但是,没有一个成功编译的内核可以正常工作,因为它们缺少模块/ firmware/dtbs.什么可能导致不正确的修补?当然,编写代码和补丁的开发人员必须对其进行测试,因此我的工作区可能有问题,但我无法想象此时的情况.我使用的命令与链接1的命令相同.

linux-kernel beagleboneblack

9
推荐指数
3
解决办法
7600
查看次数

带有WPF字幕的边框

有没有人知道如何在WPF中使用标题获取边框,即Web浏览器显示<fieldset>标签的方式?是否有一种简单的方法,比如设置一个属性,或者我将不得不制作一个ControlTemplate?

wpf border caption

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

如何确定Perl哈希是否包含映射到未定义值的键?

我需要确定Perl哈希是否具有给定密钥,但该密钥将映射到undef值.具体来说,这样做的动机是看到布尔标志在使用getopt()哈希引用时是否传入其中.我已经搜查两本网站和谷歌,exists()defined()似乎不适用的情况下,他们只看到如果给定键的值是不确定的,他们不检查哈希实际上有钥匙.如果我是RTFM,请指出解释此问题的手册.

perl hash key exists defined

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

在Visual Studio中获取类的程序集合格名称

我正在为一些特殊的自定义域逻辑编写一个自定义的反射库,该库将使用XML配置文件,这些文件将在运行时动态解析System.Type对象。但是,在编写XML配置文件时,编写类型有点麻烦,因为它们必须是Type.GetType()的完全合格程序集名称才能解析它们。有没有一种方法可以在Visual Studio中找到对象的AssemblyQualifiedName,而无需编写程序将它们打印到文件或标准输出或类似的东西?

c# reflection types assemblies

7
推荐指数
2
解决办法
8914
查看次数

扭转mkimage的影响以获取原始的gzip压缩文件

我们为我们公司的特定嵌入式设备开发,其中一部分是制作通过netboot通过以太网加载到设备上的初始根磁盘.我们遇到了一些问题,因此,包含初始根磁盘内容的原始文件夹与其备份一起丢失,但我们仍然有通过压缩ramdisk的内容创建的initrd映像.它已作为本地循环设备挂载,然后在gzip压缩文件上运行mkimage.有没有办法撤消mkimage的影响并获取原始的gzip压缩内容,以便我们可以恢复原始图像?

gzip embedded-linux initrd

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

获取helptring属性应用于通过COM接口公开的C#属性

我目前正在开发一个库,该库将暴露给COM,用于正在升级的旧项目中.我正在创建要公开的接口,并且它们具有long,int等类型的属性.使用DescriptionAttribute,我可以获得.tlb中为接口,类和方法生成的帮助字符串,但由于某种原因,它似乎不想用于属性.反正有没有在TLB输出中为属性生成一个帮助字符串?

c# com interop properties interface

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