我正在寻找建议以在递归 makefile 系统中正确处理单独的调试和发布构建子目录,该系统使用 gnumake 手册中记录的 $(SUBDIRS) 目标将 make 目标应用于(源代码)子目录。
具体来说,我对实现“all”、“clean”、“realclean”等目标的可能策略很感兴趣,这些目标要么假设其中一棵树要么应该在两棵树上都工作导致问题。
我们当前的 makefile 使用一个 COMPILETYPE 变量,该变量被设置为 Debug(默认)或 Release('release' 目标),它正确地执行构建,但清理和 make all 仅适用于默认的 Debug 树。传递 COMPILETYPE 变量变得笨拙,因为是否以及如何执行此操作取决于实际目标的值。
我们正在使用Team Foundation Server,我们正在使用标签在我们的版本历史记录中创建点,其中生成了特定版本(内部或外部).
现在我们想知道特定变更集是否在特定标签之前或之后完成(因此包含在该版本中),但我们必须在错误的位置查找.这些信息通常在错误跟踪系统中提供,但这次这个字段保持打开,所以我们认为我们可以使用TFS来解决它.
文件的版本历史记录不包括应用的标签.要查找标签,我所知道的地方是使用"获取特定版本"对话框,将类型设置为标签并使用标签选择对话框查看我们制作了哪些标签,但此对话框并未告诉我变更集在应用标签之前/之后.
是唯一的方法来确定特定更改是否是该版本的一部分或不创建新工作区,将包含文件的目录映射到磁盘上的临时目录,使用"获取特定版本"对话框来提取该版本并执行此操作文件差异?
请告诉我我是多么愚蠢,并指出我正确的方向.
实际上有很多例子,我使用过其中一个例子.但它是异步的,我的意思是它不等待我打电话完成的功能.
function ProcessSend()
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.4.0")
Set oXMLDoc = CreateObject("MSXML2.DOMDocument")
oXMLHTTP.onreadystatechange = getRef("HandleStateChange")
strEnvelope = "callNo="&callNo&"&exp="&exp
call oXMLHTTP.open("POST","http://localhost:11883/ServiceCall.asmx/"&posFirm,true)
call oXMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
call oXMLHTTP.send(strEnvelope)
end function
Sub HandleStateChange
if(oXMLHTTP.readyState = 4) then
dim szResponse: szResponse = oXMLHTTP.responseText
call oXMLDoc.loadXML(szResponse)
if(oXMLDoc.parseError.errorCode <> 0) then
'call msgbox("ERROR")
response = oXMLHTTP.responseText&" "&oXMLDoc.parseError.reason
'call msgbox(oXMLDoc.parseError.reason)
else
response = oXMLDoc.getElementsByTagName("string")(0).childNodes(0).text
end if
end if
End Sub
Run Code Online (Sandbox Code Playgroud)
我在一个javascript函数中调用ProcessSend函数.它连接到webservice,并返回"response"变量.但是我的javascript函数不会等待ProcessSend函数的结果.如何让它同步?
任何人都知道一些写得很好(但不是太复杂)的ASP.NET Web应用程序/网站,我可以从code.google.com或其他东西下载?我只是想看看其他一些项目如何在项目投入使用之前获得一些关于如何构建项目的想法.非常感谢.
目前我可以使用此功能从Imagick中的图像创建PDF文件
$im->setImageFormat("pdf");
$im->writeImage("file.pdf");
Run Code Online (Sandbox Code Playgroud)
并且可以像想象一样获取多个页面
$im = new imagick("file.pdf[0]");
$im2 = new imagick("file.pdf[1]");
Run Code Online (Sandbox Code Playgroud)
但是可以将两个图像对象保存到两个页面吗?(我在想什么的例子,不可能这样)
$im->setImageFormat("pdf");
$im->writeImage("file.pdf[0]");
$im2->setImageFormat("pdf");
$im2->writeImage("file.pdf[1]");
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个简单的(如果存在的)算法来找到球体表面上一组点的Voronoi图.源代码会很棒.我是德尔福人(是的,我知道......),但我也吃C代码.
我正在使用Billy McCafferty相当出色的S#arp架构.一切都很快,很快就开始运转.
然后我更新到最新的ASP.NET MVC RC.这意味着我必须得到S#arp的最新主干.
另外,两周前,我从XP更新到Vista(32位)
我的问题是表现突然变得悲惨.
一切似乎都有效,但它变得非常慢.每个http请求需要1秒钟.是的,一秒钟 - 您可以想象的是,像网络服务器这样的页面加载由一个巨大的,匆忙构造的鼠标滚轮中的关节炎驴提供动力.
页面上的每个脚本或图像都会增加一秒的加载时间.
有什么想法可能是什么?
.net asp.net-mvc performance s#arp-architecture windows-vista
我最近在LINQ遇到了这个光线跟踪器.只是想知道是否有人可以超越它?
var pixelsQuery =
from y in Enumerable.Range(0, screenHeight)
let recenterY = -(y - (screenHeight / 2.0)) / (2.0 * screenHeight)
select from x in Enumerable.Range(0, screenWidth)
let recenterX = (x - (screenWidth / 2.0)) / (2.0 * screenWidth)
let point = Vector.Norm(Vector.Plus(scene.Camera.Forward,
Vector.Plus(Vector.Times(recenterX, scene.Camera.Right),
Vector.Times(recenterY, scene.Camera.Up))))
let ray = new Ray { Start = scene.Camera.Pos, Dir = point }
let computeTraceRay = (Func<Func<TraceRayArgs, Color>, Func<TraceRayArgs, Color>>)
(f => traceRayArgs =>
(from isect in
from thing …Run Code Online (Sandbox Code Playgroud) 有没有办法更新mysql选择查询的select_expr部分中的表.这是我想要实现的一个例子:
SELECT id, name, (UPDATE tbl2 SET currname = tbl.name WHERE tbl2.id = tbl.id) FROM tbl;
Run Code Online (Sandbox Code Playgroud)
这给了我一个mysql错误,但我不明白为什么这不应该是可能的,只要我不改变tbl.
编辑:我将澄清为什么我不能使用普通的构造.
以下是我正在研究的问题的更复杂的例子:
SELECT id, (SELECT @var = col1 FROM tbl2), @var := @var+1,
(UPDATE tbl2 SET col1 = @var) FROM tbl WHERE ...
Run Code Online (Sandbox Code Playgroud)
所以我基本上处于这样一种情况:我在select语句中递增一个变量,并且想要反映这个变化,因为我在选择行时因为我在执行期间使用了这个变量的值.这里给出的例子可能可以通过其他方式实现,但是由于存在太多不必要的代码,我不会在这里发布的真实示例需要此功能.
我哥哥最近开始学习C++.他告诉我在尝试在简单程序中验证输入时遇到的问题.他有一个文本菜单,用户输入一个整数choice,如果他们输入了无效的选项,他们会被要求再次输入(循环时).但是,如果用户输入的是字符串而不是int,则代码会中断.我在stackoverflow上阅读了各种问题,并告诉他重写他的代码:
#include<iostream>
using namespace std;
int main()
{
int a;
do
{
cout<<"\nEnter a number:"
cin>>a;
if(cin.fail())
{
//Clear the fail state.
cin.clear();
//Ignore the rest of the wrong user input, till the end of the line.
cin.ignore(std::numeric_limits<std::streamsize>::max(),\
'\n');
}
}while(true);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
虽然这个工作正常,但我还尝试了其他一些想法:
1.使用try catch块.它没用.我认为这是因为输入错误不会引发异常.我试过if(! cin){//Do Something}哪个也没用.我还没想出来.
3.第三,我尝试输入一个固定长度的字符串然后解析它.我会用atoi().这个标准是否合规且便携?我应该编写自己的解析函数吗?
4.如果编写一个使用cin的类,但动态地进行这种错误检测,也许通过在运行时确定输入变量的类型,它会有太多的开销吗?它甚至可能吗?
我想知道进行这种检查的最佳方法是什么,最佳做法是什么?
我想补充一点,虽然我不是新编写C++代码,但我是编写符合标准的良好代码的新手.我试图忘掉不良做法并学习正确的做法.如果回答者提供详细解释,我将非常感激.
编辑:我看到litb回答了我以前的一个编辑.我会在这里发布该代码以供参考.
#include<iostream>
using namespace std;
int main()
{
int a;
bool inputCompletionFlag = true;
do
{
cout<<"\nEnter a number:"
cin>>a;
if(cin.fail())
{ …Run Code Online (Sandbox Code Playgroud) .net ×2
algorithm ×1
asp.net ×1
asp.net-mvc ×1
c++ ×1
changeset ×1
coding-style ×1
geometry ×1
gnu-make ×1
imagick ×1
label ×1
linq ×1
makefile ×1
math ×1
mysql ×1
pdf ×1
performance ×1
php ×1
sql ×1
starter-kits ×1
synchronous ×1
tfs ×1
validation ×1
vbscript ×1
voronoi ×1
web-services ×1