我想实现一种在代码中记录项目版本的方法,以便在测试时使用它并帮助跟踪错误.似乎使用的最佳版本号只是Subversion的当前版本号.有没有一种简单的方法可以将这个数字挂钩到(我的情况下是C++)头文件或其他什么东西,然后我可以在代码中找到它?我猜这是一个帖子提交钩子什么的?
有没有人有任何实现这个的经验(请分享代码,请?),或者可以提出更好的选择?谢谢.
我目前正在剥离,重构和清理中等规模(15个项目)的Visual Studio解决方案.该解决方案包含C++和C#中的项目.
我希望在输出方面保持尽可能整洁的东西 - 分离从源代码创建的任何编译器,因为它有助于颠覆(好吧,我可以告诉它忽略文件,但我仍觉得它很混乱)吓坏了.
我想要实现的输出如下:
SolutionDir/
SolutionDir/src/project1/{ Code here }
SolutionDir/int/project1/configuration/{.obj files and other misc compiler junk here}
SolutionDir/bin/project1/configuration/{The fun stuff goes here}
Run Code Online (Sandbox Code Playgroud)
这对于C++项目来说似乎微不足道,因为您可以指定输出和中间目录.但是使用C#,至少通过Visual Studio 2008用户界面,似乎无法移动obj目录?
在做了一些挖掘之后,我补充道
<IntermediateOutputPath>..\..\int\ProjectName\Debug\</IntermediateOutputPath>
Run Code Online (Sandbox Code Playgroud)
到C#.csproj
这似乎有用.确实,中间体似乎在那里结束,但是目录'obj'并且在其下面是配置目录(例如'debug'),然后在旧位置创建'TempPE'目录 - 所有这些都是空的.
这不是什么大不了的事,但知道这种行为的原因并且如果可能的话可以解决它的方法会很好.
提前致谢!
我公司开发了一种使用Visual C++中的MFC作为UI开发的事实标准的长期产品.我们的代码库包含大量遗留/古老代码,必须保持运行.这些代码中的一些比我早(最初写于70年代末期),我们团队的一些成员仍在使用Visual Studio 6.
然而,幸运的是,内部已经得出结论,与竞争对手相比,我们的产品看起来有些陈旧,并且需要做些什么.
我目前正在开发UI的一个新领域,它与产品的其他部分完全不同.因此,我有机会尝试将"新"技术堆栈作为一种试验场,然后再开始移动UI的其余部分.
我在业余时间使用C#和Windows Forms以及.net框架一段时间并享受它,但我有点担心互操作引起的麻烦.虽然UI的这个特定分支不需要与传统的C++代码库很多互操作,但我可以预见这将成为未来的问题.
另一种方法是继续使用MFC,但尝试利用VS2008附带的新功能包.我想这是最简单的选择,但我担心长寿,而不是利用.net的优点......
那么,我选哪个?我们是一个小团队,所以我的建议很可能被接受为我们未来的发展方向 - 我希望能够做到这一点.
MFC死了吗?C#/ Winforms是前进的方向吗?还有什么我完全不见了吗?非常感谢!
我已经想了一段时间了,想得到一般意见:
如果先前已经询问过此高级道歉,我进行了搜索并找不到类似的内容.此问题与诸如"在Windows中保存临时文件的正确位置?"之类的问题有关.,但不完全一样.
我注意到多年来在Windows上花费了很多年,从XP到Vista,现在到7岁,"我的文档"目录已经慢慢变成了一个鼓励你将个人'东西'放入倾倒场的地方任何随机应用程序想要存储的任何垃圾.
例如,如果我现在查看我的工作xp机器上的"我的文档"目录,有Adobe,FX Composer,Maya,Processing,Visual Studio 2005/2008,Visual Studio Samples,Window Clippings,Evernote等文件夹......这个清单一直在继续.
事实上,我现在使用该文件夹的最后一件事就是存储我的"东西" - 这是它打算做的事情.我个人觉得将我的实际文档存储在那里,以及这些随机的应用程序设置太杂乱无章,难以排序.此外还有令人头疼的备份软件等......信噪比变得惨不忍睹.
遗憾的是,我现在发现自己处于编写一些代码的位置,我想存储一些与我的应用程序相关的设置.理想情况下,这些设置应该是"全局的"(我们的软件定期更新),因此将它们存储在可能短暂的某些Program Files目录中将无法正常工作.虽然设置本身可以存储在注册表中,但备份文件,压缩档案,样本等等...
所以我真正要问的是,对于这种情况,什么是正确的解决方案?我是否跟随人群并使用"我的文件"作为倾销场?无论如何,该文件夹是否已注销,或者我是否在添加问题?
您是否使用"我的文档"作为应用程序的存储区域?你是否对那里出现的所有垃圾感到沮丧?
我的软件的用户是半技术的,所以可能会理解它只是一个像任何其他目录一样的目录(因此可以处理它在其他地方) - 但我想埃德娜阿姨不会理解这一点,答案也是如此取决于背景?
提前致谢!
编辑:
感谢%APPDATA%的建议 - 我想这对于不应该向用户公开的应用程序设置和文件是好的,但对于用户移动/管理自己可能有用的文件呢?我的文件是唯一的解决方案还是应该坚持%APPDATA%?
我目前正在尝试通过Github和AWS Codedeploy自动将nodejs应用程序部署到EC2实例.我已经尽可能地遵循了这里的说明 ,但是我遇到了AfterInstall钩子事件.
这是我的yml文件:
version: 0.0
os: linux
files:
- source: /backend
destination: /home/ec2-user/signal
permissions:
- object: /
pattern: "**"
owner: ec2-user
group: ec2-user
hooks:
ApplicationStop:
- location: backend/app/deploy/stop.sh
timeout: 10
runas: ec2-user
BeforeInstall:
- location: backend/app/deploy/beforeinstall.sh
timeout: 1200
runas: ec2-user
AfterInstall:
- location: backend/app/deploy/afterinstall.sh
timeout: 1200
runas: ec2-user
ApplicationStart:
- location: backend/app/deploy/start.sh
timeout: 60
runas: ec2-user
ValidateService:
- location: backend/app/deploy/validate.sh
timeout: 60
runas: ec2-user
Run Code Online (Sandbox Code Playgroud)
我通过AWS CLI调用部署,如下所示:
aws deploy create-deployment --application-name Signal --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name Production --description "Deployment" …Run Code Online (Sandbox Code Playgroud) 为了将一些新UI迁移到Managed/C#land,我最近在一个大型遗留项目中启用了公共语言运行时支持(/ clr),该项目在共享DLL中使用MFC并依赖于我们内部的大约十几个其他项目.整体解决方案 这个项目是我们应用程序的核心,它将驱动所生成的任何托管UI代码(因此需要为interop启用clr支持).
在修复了大量的小错误和警告之后,我终于设法让应用程序进行编译.但是,运行应用程序会导致EETypeLoadException并让我无法调试...
做了一些挖掘,我发现原因是"System.TypeLoadException:内部限制:字段太多了." 它发生在编译结束时.然后我发现这个链接建议将组件分解为两个或更多dll.但是,在我的情况下这是不可能的,因为我的限制是遗留代码基本上保持不变.
有谁能建议任何其他可能的解决方案 我真的在这里死路一条.
不久之前,我设法将Visual Studio 2008(C++)变成一个状态,如果我要选择一个关键字(或任何符号),可以双击它或突出显示它,该符号的所有其他实例在当前文件中也会突出显示.
这是一个非常有用的功能.
从那以后它就消失了,我不知道怎么回来.
请帮忙.
@Sander - 就是这样.谢谢!
我正在尝试从YCbCr到BGRA执行图像颜色转换(不要问A位,这么头疼).
无论如何,这需要尽可能快地执行,所以我使用编译器内在函数来编写它以利用SSE2.这是我第一次进入SIMD土地,我基本上是一个初学者,所以我确信有很多我做得不够好.
我进行实际颜色转换的算术代码变得特别慢,英特尔的VTune显示它是一个重要的瓶颈.
那么,我可以用任何方式加快以下代码的速度吗?它以32位,一次4个像素完成.我最初尝试以8位,一次16个像素(如上部循环),但计算导致整数溢出和转换损坏.整个过程,包括英特尔jpeg解码,单个全高清领域需要大约14毫秒.如果我能把它降到至少12毫秒,理想情况下是10毫秒,那就太棒了.
感谢任何帮助或提示.谢谢!
const __m128i s128_8 = _mm_set1_epi8((char)128);
const int nNumPixels = roi.width * roi.height;
for (int i=0; i<nNumPixels; i+=32)
{
// Go ahead and prefetch our packed UV Data.
// As long as the load remains directly next, this saves us time.
_mm_prefetch((const char*)&pSrc8u[2][i],_MM_HINT_T0);
// We need to fetch and blit out our k before we write over it with UV data.
__m128i sK1 = _mm_load_si128((__m128i*)&pSrc8u[2][i]);
__m128i sK2 = _mm_load_si128((__m128i*)&pSrc8u[2][i+16]);
// Using the destination buffer temporarily here …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 Elasticbeanstalk 部署在 EC2 上运行的 node.js 服务器。我遇到的问题是在重建画布 npm 模块期间。命令“canvas@1.1.6 install: node-gyp rebuild”失败如下:
> canvas@1.1.6 install /tmp/deployment/application/node_modules/canvas
> node-gyp rebuild
gyp ERR! clean error
gyp ERR! stack Error: EACCES, unlink 'build'
gyp ERR! System Linux 3.10.35-43.137.amzn1.x86_64
gyp ERR! command "node" "/opt/elasticbeanstalk/node-install/node-v0.10.26-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /tmp/deployment/application/node_modules/canvas
gyp ERR! node -v v0.10.26
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok
npm ERR! canvas@1.1.6 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the canvas@1.1.6 install …Run Code Online (Sandbox Code Playgroud) amazon-ec2 amazon-web-services node.js npm amazon-elastic-beanstalk