关于使用C++头文件和makefile文件,我有两个问题.我知道我有所有部件,我只是不确定如何将它们组合在一起.
我有以下文件:
main.cpp
Point.cpp
Point.h
Run Code Online (Sandbox Code Playgroud)
Point.h声明了我的简单Point对象,该定义位于Point.cpp文件中.然后在里面main()
我想创建和使用Point对象.
我是否需要在Point.cpp文件中包含Point.h文件,或者是Makefile要关注的东西?另外,使用Point对象的main.cpp文件:我是否需要Point.cpp的include或者是否可以在Makefile中完成/可以完成?
这里的每个文件应包括什么以及我的Makefile应该是什么样的?
//从Linux平台独家工作//
我的Grails应用程序使用了一堆插件.这些插件使用其他插件.
现在我正在考虑迁移到MongoDB并删除Hibernate.我需要知道什么插件,如果有的话,需要Hibernate.
有没有办法获得转储,打印输出或其他可视化我的每个插件所需的插件?
谢谢!
说我有:class A
要看class B
要看class C
要看class A
.
编译似乎不可能.我已经读过这篇关于禁用编译时依赖性检查的帖子,但是我的所有类都在类路径中,定义明确等等.唯一的问题是它们相互依赖.
有没有办法编写这样一个可以顺利编译的应用程序?
对于快速计算的快速计算机和网络,我的"解决依赖关系"大约需要30秒.
我看过这个问题Grails:部署时间非常慢."解决依赖关系..."需要10秒以上,而且我似乎没有任何"快照"依赖关系.我已经清理了我的常春藤缓存并强制重新下载所有内容,没有任何帮助.启用日志记录后,这几行就是违规者.没有任何内容正在下载,但考虑到我的网络流量,似乎每次都尝试远程查找内容.请注意,这些是仅在它们之前具有[某个数字]版本的条目,然后是不同的版本 - 这不是巧合 - 这是什么意思?如何阻止Grails试图找到这些略有不同的版本?
.... these lines take 20+seconds, everything else is in the milliseconds ...
found commons-logging#commons-logging;1.1.1 in grailsPlugins
[1.1.1] commons-logging#commons-logging;[1.1, 2.0)
found org.apache.httpcomponents#httpclient;4.1.2 in default
[4.1.2] org.apache.httpcomponents#httpclient;[4.1, 5.0)
found org.apache.httpcomponents#httpcore;4.1.2 in default
found org.codehaus.jackson#jackson-core-asl;1.9.1 in default
[1.9.1] org.codehaus.jackson#jackson-core-asl;[1.4,)
found javax.mail#mail;1.4.4 in default
[1.4.4] javax.mail#mail;[1.4,)
Run Code Online (Sandbox Code Playgroud)
我正在使用两个必须是违法者的插件,并在下面列出了他们的dependencies.groovy.我已经尝试评论任何明确的远程URL.
SimpleDB的:
grails.project.class.dir = "target/classes"
grails.project.test.class.dir = "target/test-classes"
grails.project.test.reports.dir = "target/test-reports"
grails.project.dependency.resolution = {
inherits "global"
log "warn"
String datastoreVersion = "1.0.0.M9"
repositories {
grailsPlugins()
grailsHome()
grailsCentral()
mavenRepo "http://repo.grails.org/grails/core" //tried …
Run Code Online (Sandbox Code Playgroud) 有人告诉我,我需要在触发器中使用分隔符.我正在查看MySQL手册页,我在示例中找到了它; 但是,它不在通用文档中.
这是我要纠正的代码:
CREATE TRIGGER adult BEFORE INSERT OR UPDATE ON table5.column5
FOR EACH ROW BEGIN
UPDATE table1 SET column5 = table5.column5 WHERE table5id = table1xtable5.table5id WHERE table1xtable5.table1id = OLD.table1.id$
END$
Run Code Online (Sandbox Code Playgroud)
老实说,我不知道如何做到这一点,http ://dev.mysql.com/doc/refman/5.5/en/create-trigger.html上的文档似乎是一个非常不充分的参考.例如,当阅读" old
"和" new
"时,它引用" subject table
" - 与触发器相关联的表.有两个与此触发器关联的表,我实际上是尝试将更多表与此触发器关联....当查看示例代码时,UPDATE
影响table4 的行仅使用table4中的列(它们是将值加1).而且,他们正在使用WHERE ~ a3 = NEW.a1
.我不认为id的工作方式.不应该有跨表的通用ID.对于适用性,它们肯定应该在示例中使用相互依赖表.
我实际上在今天早些时候问了一个类似的问题,关于这样做的好方法是什么,但现在我想知道,如果有方法的话.谢谢阅读.:)
以下是更新另一个表的触发器示例,但它似乎没有使用分隔符:
CREATE TRIGGER mytrigger BEFORE INSERT ON odp
FOR EACH ROW
UPDATE total_points SET points = points + NEW.points;
Run Code Online (Sandbox Code Playgroud)
在这个例子中没有解释的是如何odp
和total_points
重叠.我们怎样才能确定total_points
表的points …
我试图通过MacPorts安装digikam(太糟糕了,没有这样的HomeBrew),我不断收到以下错误:
Error: Dependency 'p5.12-xml-parser' not found.
Error: Status 1 encountered during processing.
Run Code Online (Sandbox Code Playgroud)
我想也许我需要更新MacPorts,所以我做了那个(selfupdate
).我还尝试upgrade outdated
了MacPorts,我得到了另一个与Perl5相关的错误:
Warning: No port p5.12-locale-gettext found in the index.
---> Computing dependencies for help2man
Error: Dependency 'p5.12-locale-gettext' not found.
Error: Unable to upgrade port: 1
Run Code Online (Sandbox Code Playgroud)
我不确定为什么会这样.我检查了perl perl -v
,告诉我我有perl 5,版本12,颠覆3.
在进行搜索时,我看到很多人在通过MacPorts安装某些东西时遇到了问题,因为一些"缺失"的Perl依赖项.但似乎没有任何标准解决方案.任何想法在这里发生了什么以及如何解决它?
最近有人告诉我,Class 1形式的循环引用如何称为Class 2,称为Class 1被认为是非常糟糕的做法,而我无法理解这一点.我的意思是,如果这些课程在2个不同的项目中,我完全理解这个问题,但如果他们在同一个项目中,那可能会很糟糕吗?在某些情况下......你究竟是怎么防止这种情况的?
例如:我有一台某种服务器.客户端连接到它,客户端从套接字派生或持有它,负责网络内容,以及一些信息,如帐户ID等.当有新的东西时,客户端调用数据包处理程序,现在数据包处理程序需要来自客户端的信息,并且必须返回信息.我将客户端传递给数据包处理程序,因此它可以调用它的发送函数等.
关注这个问题的人认为这是上面提到的不良做法,尽管我很少看到服务器,尤其是大型服务器,他们将所有数据包处理保留在客户端类中.此外,您可能会比处理程序更进一步,并调用更多类.将所有内容保留在客户端内是一团糟.所以... 这是非常糟糕的做法吗?
如果是的话,怎么会绕过它呢?要完成这项工作,您需要在客户端中使用或多或少复杂的对象集合,您可以向下传递,而无需再次调用客户端的功能...
就像我说的那样,我无法真正地围绕这个"问题".有人可以帮我吗?
我觉得这是一个相当普遍的问题,但我无法在任何地方找到答案.我有一个这样的目标:
initfs.tar: $(INITFS_FILES)
rm -f ./initfs.tar
cd initfs_root
tar --format ustar --exclude-vcs -cf ../initfs.tar ./
Run Code Online (Sandbox Code Playgroud)
INITFS_FILES定义为:
INITFS_FILES:=$(shell find ./initfs_root/ -not -path '*/.*/*' -not -name '.*' -type f)
Run Code Online (Sandbox Code Playgroud)
每次打电话make initfs.tar
,都会运行此目标.在initfs_root目录中没有触及任何文件(并且使用该find命令找到所有文件).确实创建了initfs.tar.
有没有人知道为什么会这样?这对我来说没有意义,根据我在互联网上遇到的所有其他帖子以及我目前的专业知识,我认为一切都是正确的(尽管显然,我的专业知识在Makefile领域缺乏;)
我正在使用VS10和C#,我遇到了一个奇怪的问题.我有2个项目A和B,A是一个类库,B是一个控制台项目.B取决于A,所以我将A的项目引用添加到B.
但是当我在项目B中使用项目A中创建的类型时,VS会抱怨以下内容:
找不到类型或命名空间名称(您是否缺少using指令或程序集引用?)
我以前从未遇到过这个问题,有谁知道出了什么问题?
谢谢.
我正在使用visual studio 2010开发一个C++程序.我有这些类定义和头文件:
sh:
class s : oe {
...
};
Run Code Online (Sandbox Code Playgroud)
th:
class t : oe {
...
};
Run Code Online (Sandbox Code Playgroud)
oe.h:
class oe {
...
o getO();//we reference to class 'o' in oe.h, so we must include o.h begore oe.h
};
Run Code Online (Sandbox Code Playgroud)
哦,哦:
class o {
...
s getS();//we reference to class 's' in o.h, so we must include s.h begore o.h
};
Run Code Online (Sandbox Code Playgroud)
问题是,我们参照"O"级的oe.h
,所以我们必须包括o.h
之前oe.h
,和我们也参考类的' o.h
,所以我们必须包括s.h
前o.h
,但我们不能这样做,因为s.h
需要oe.h
和oe.h
需求 …