我有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)
我怎么能在haskell中这样做?
equal(S,S) -> true;
equal(S1, S2) -> {differ, S1, S2}.
Run Code Online (Sandbox Code Playgroud) 我有一个项目,我正在尝试学习单元测试和TDD实践.我发现我遇到了一些令人困惑的案例,我花了很长时间为一个几乎无处不在的实用工具类设置模拟.
从我读到的关于单元测试的内容来看,如果我正在测试MyClass,我应该嘲笑任何其他功能(例如由UtilityClass提供).是否可以接受(假设UtilityClass本身有一套全面的测试)只使用UtilityClass而不是为所有不同的测试用例设置模拟?
编辑:我正在进行大量设置的事情之一.我正在建模地图,不同位置的不同对象.我的实用程序类的常用方法之一是GetDistanceBetween.我正在测试根据各自属性对事物产生影响的方法,例如,选择5个单位中的所有对象且年龄超过3的测试将需要多次测试(获取范围内的旧对象,忽略旧对象)范围,忽略范围内的年轻对象,每个案例的倍数正确工作)所有这些测试需要设置'GetDistanceBetween'方法.将每个使用GetDistanceBetween的方法(几乎每一个)与该方法在不同情况下应该返回的不同结果相乘,并且它会得到很多设置.
我可以看到,当我进一步开发时,可能会有更多实用程序类调用,大量对象以及这些模拟实用程序类上的大量设置.
我想做到这一点
<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)
谢谢你的阅读.
我正在创建一个批处理脚本,它将获取应用程序代码的最新版本,然后使用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中的所有内容都没有错误地构建.这里发生了什么?
以下是此测试的源代码:
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
是我需要的.
我有问题,包括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:component
或ui:composition
标记的 Facelets文件(将内容修剪为自身之外)或仅包含XHTML或XML的片段.
那是怎么回事?包括在内的内容是否已被删除?如何在不修剪内容的情况下包含页面?
在模块中,我使用以下__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对象的函数中使用它...
如何像标准日期时间一样使用该属性?
如果我用MariaDB服务器(Maria和XtraDB存储)而不是MySQL(MyISAM和InnoDB)替换MySQL 5.1服务器,那么大多数MySQL客户端软件(包括用PHP 5.2和Java SE 1.6制作的应用程序)......
我的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)
当然,这只是一个例子.一切正常,但我不喜欢许多类中记录器初始化的想法.这是一个明显的代码重复.我想将它移动到一个帮助类,让所有其他类访问它.这是一个正确的想法吗?或者也许还有其他"最佳实践"或模式?