问题列表 - 第38467页

sizeof在编译不同的程序时返回结构的不同值

我有2个共享头文件的程序.此头文件定义具有少量成员的结构.然后是#define : #define STRUCTURE_SIZE sizeof(OUR_STRUCTURE).

然后,此结构在共享内存STRUCTURE_SIZE中用于size参数shmget().

不幸的是,对于一个程序,STRUCTURE_SIZE最终为20758,而在另一个程序中,它最终为20764.所以当第二个程序试图获取共享内存时,shmget()返回EINVAL.

uname -a:

Linux machine 2.6.30.10-105.2.23.fc11.i686.PAE #1 SMP Thu Feb 11 07:05:37 UTC 2010 i686 i686 i386 GNU/Linux

g++ --version:

g++ (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2)

c++ linux gcc sizeof shared-memory

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

在haskell中如何做到这一点?

我怎么能在haskell中这样做?

equal(S,S) -> true;
equal(S1, S2) -> {differ, S1, S2}.
Run Code Online (Sandbox Code Playgroud)

erlang haskell

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

使用'真实'实用程序类而不是在TDD中进行模拟是否可以接受?

我有一个项目,我正在尝试学习单元测试和TDD实践.我发现我遇到了一些令人困惑的案例,我花了很长时间为一个几乎无处不在的实用工具类设置模拟.

从我读到的关于单元测试的内容来看,如果我正在测试MyClass,我应该嘲笑任何其他功能(例如由UtilityClass提供).是否可以接受(假设UtilityClass本身有一套全面的测试)只使用UtilityClass而不是为所有不同的测试用例设置模拟?

编辑:我正在进行大量设置的事情之一.我正在建模地图,不同位置的不同对象.我的实用程序类的常用方法之一是GetDistanceBetween.我正在测试根据各自属性对事物产生影响的方法,例如,选择5个单位中的所有对象且年龄超过3的测试将需要多次测试(获取范围内的旧对象,忽略旧对象)范围,忽略范围内的年轻对象,每个案例的倍数正确工作)所有这些测试需要设置'GetDistanceBetween'方法.将每个使用GetDistanceBetween的方法(几乎每一个)与该方法在不同情况下应该返回的不同结果相乘,并且它会得到很多设置.

我可以看到,当我进一步开发时,可能会有更多实用程序类调用,大量对象以及这些模拟实用程序类上的大量设置.

tdd unit-testing

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

使用xslt更改元素的命名空间

我想做到这一点

<hello>
  <one>
    <paragraph>p1</paragraph>
  </one>
</hello> 
Run Code Online (Sandbox Code Playgroud)

进入这个

<x:hello y:an_attribute="a value for an_attribute" xmlns:x="some_new_namespace" xmlns:y="other_ns">
  <one>
    <paragraph>p1</paragraph>
  </one>
</x:hello> 
Run Code Online (Sandbox Code Playgroud)

这是我提出的样式表:

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes"/>

    <xsl:param name="element_localname" select="'hello'"/>


    <xsl:template match="node()">
        <xsl:choose>
            <xsl:when test="local-name() = $element_localname">
                <xsl:element name="{$element_localname}" namespace="some_new_namespace">
                    <xsl:attribute name="an_attribute" namespace="other_ns">a value for an_attribute</xsl:attribute>
                    <xsl:apply-templates select="node()"/>
                </xsl:element>
            </xsl:when>

            <!-- copy the rest as is -->
            <xsl:otherwise> 
                <xsl:copy>
                    <xsl:apply-templates select="node()" />
                </xsl:copy>
            </xsl:otherwise>

        </xsl:choose>
    </xsl:template>

</xsl:stylesheet> 
Run Code Online (Sandbox Code Playgroud)

但由于一些奇怪的原因,我添加到元素的属性与根元素本身具有相同的命名空间?为什么?

<ns0:hello xmlns:ns0="other_ns" ns0:an_attribute="a value for an_attribute">
  <one>
    <paragraph>p1</paragraph>
  </one>
</ns0:hello>
Run Code Online (Sandbox Code Playgroud)

谢谢你的阅读.

xml xslt

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

命令行错误导致的MSBuild - System.Xml所需的引用

我正在创建一个批处理脚本,它将获取应用程序代码的最新版本,然后使用msbuild构建它.一切都有效,直到msbuild部分.这是运行msbuild的行:

C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe "code/Solution.sln" /p:Configuration="Debug"
Run Code Online (Sandbox Code Playgroud)

并且整个地方都出现了错误 - 所有错误都表示如下:

C:\code\project1\codefile1.vb(882): error BC30009: Reference required to assembly 'System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' containing the implemented interface 'System.Xml.Serialization.IXmlSerializable'. Add one to your project.
Run Code Online (Sandbox Code Playgroud)

Visual Studio 2008中的所有内容都没有错误地构建.这里发生了什么?

msbuild

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

如何使用Aggregate函数获取字符串列表并输出由空格分隔的单个字符串?

替代文字

以下是此测试的源代码:

    var tags = new List<string> {"Portland", "Code","StackExcahnge" };
    const string separator = " ";
    tagString = tags.Aggregate(t => , separator);
    Console.WriteLine(tagString);
    // Expecting to see "Portland Code StackExchange"
    Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)

更新

这是我现在使用的解决方案:

var tagString = string.Join(separator, tags.ToArray());
Run Code Online (Sandbox Code Playgroud)

结果string.Join是我需要的.

c# aggregate list tostring

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

在Facelets中使用include的问题

我有问题,包括facelet模板.我想拆分一些内容,以便我可以在其他地方重用它.

所以我改变了这段代码:

<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    template="/layout/template.xhtml">

    <ui:define name="head">
        <title>Title</title>
    </ui:define>

    <ui:define name="header">
        <h3>Header</h3>
    </ui:define>

    <ui:define name="content">
        <table><tr><td>table</td></tr></table>
    </ui:define>
</ui:composition>
Run Code Online (Sandbox Code Playgroud)

对此:

<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    template="/layout/template.xhtml">

    <ui:define name="head">
        <title>Title</title>
    </ui:define>

    <ui:include src="/admin/admin_generic.xhtml"/>
</ui:composition>
Run Code Online (Sandbox Code Playgroud)

在里面admin-generic.xhtml我把代码包装在一个ui:composition中.

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets">

    <ui:define name="header">
        <h3>Header</h3>
    </ui:define>

    <ui:define name="content">
        <table><tr><td>table</td></tr></table>
    </ui:define>
</ui:composition>
Run Code Online (Sandbox Code Playgroud)

但没有显示任何内容.我只是得到一个空白页面,没有错误.使用不对ui:composition吗?我试过ui:component但但也没有帮助.


更新:根据我的Facelets要点指南,它说:

ui:include标签可用于包括另一Facelets的文件到您的文档.它只包含您指定的任何源文件.您可以包含任何具有ui:componentui:composition标记的 Facelets文件(将内容修剪为自身之外)或仅包含XHTML或XML的片段.

那是怎么回事?包括在内的内容是否已被删除?如何在不修剪内容的情况下包含页面?

jsf facelets include

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

如何使用对象的属性...... Python!

在模块中,我使用以下__init__方法定义了一个类:

class RMLoader(object):
    def __init__(self):
        self.now=datetime.datetime.now()
Run Code Online (Sandbox Code Playgroud)

然后我在控制台中导入该模块:

>>> from video.remmedia.loader import RMLoader
>>> loader=RMLoader()
>>> loader.now
datetime.datetime(2010, 11, 4, 17, 40, 36, 523000)
Run Code Online (Sandbox Code Playgroud)

问题是为什么它不给我标准的日期时间对象?

但是当我打印它时,它就像标准的datetime对象一样:

>>> print loader.now
2010-11-04 17:40:36.523000
Run Code Online (Sandbox Code Playgroud)

但是我不能在我需要datetime对象的函数中使用它...

如何像标准日期时间一样使用该属性?

python datetime

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

MySQL可以无缝地替换为MariaDB,还是可以在这种情况下改变?

如果我用MariaDB服务器(Maria和XtraDB存储)而不是MySQL(MyISAM和InnoDB)替换MySQL 5.1服务器,那么大多数MySQL客户端软件(包括用PHP 5.2和Java SE 1.6制作的应用程序).​​.....

  1. 只是保持工作而不做任何改变(可能会有轻微的回归)?
  2. 或者我是否必须替换/重新配置客户端驱动程序(比如使用另一个JDBC驱动程序类和连接字符串)?
  3. 或者我甚至可以更改应用程序代码?

php mysql jdbc mariadb

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

在哪里定义静态应用程序范围的记录器?

我的Java Web应用程序中有许多包.在其中一些我使用这个结构:

public class Foo {
  private static Logger logger = LoggerFactory.getLogger("com.XXX");
  public void bar() {
    Foo.logger.debug("Method bar() was just called");
  }
}
Run Code Online (Sandbox Code Playgroud)

当然,这只是一个例子.一切正常,但我不喜欢许多类中记录器初始化的想法.这是一个明显的代码重复.我想将它移动到一个帮助类,让所有其他类访问它.这是一个正确的想法吗?或者也许还有其他"最佳实践"或模式?

java logging

5
推荐指数
3
解决办法
1048
查看次数

标签 统计

aggregate ×1

c# ×1

c++ ×1

datetime ×1

erlang ×1

facelets ×1

gcc ×1

haskell ×1

include ×1

java ×1

jdbc ×1

jsf ×1

linux ×1

list ×1

logging ×1

mariadb ×1

msbuild ×1

mysql ×1

php ×1

python ×1

shared-memory ×1

sizeof ×1

tdd ×1

tostring ×1

unit-testing ×1

xml ×1

xslt ×1