这是一小段代码:
String a = "abc";
Console.WriteLine(((object)a) == ("ab" + "c")); // true
Console.WriteLine(((object)a) == ("ab" + 'c')); // false
Run Code Online (Sandbox Code Playgroud)
为什么?
我想将一些选项传递给编译器.该选项必须在编译时计算 - 每次调用'make'时,而不是'cmake',因此execute_process命令不会删除它.(可以?)
例如,将日期传递给g ++编译器,如下所示:
g++ prog.cpp -o prog -DDATETIME="17:09:2009,14:25"
Run Code Online (Sandbox Code Playgroud)
但是在编译时计算DATETIME.
知道如何在CMake中做到这一点吗?
赏金编辑:
最不受欢迎的解决方案将被接受.
请注意,我希望能够在编译时执行任意命令,而不仅仅是'date'.
编辑2:
它必须适用于Linux,Windows(VS),Mingw,Cygwin和OS X.您不能假设Ruby,Perl或Python,因为它们在Windows上是非标准的.你可以假设BOOST,但我想这没用.
目标是强制cmake生成Makefile(在Linux的情况下),当make执行时,将完成工作.
创建自定义*.h文件是可以的,但它必须由make的Makefile(或其他操作系统上的等效文件)启动.*.h的创建不必(也不应该)使用cmake.
在我们的构建过程中,我们aspnet_compiler.exe针对我们的网站运行,以确保ASP.NET/MVC中所有后期绑定的内容实际构建(我对ASP.NET一无所知,但我确信这对于防止在运行时发现故障是必要的).
我们的网站规模相当大,有几百页/观看/控制/等.然而,在10-15分钟范围内所花费的时间似乎过多(作为参考,这比整个解决方案需要大约40个项目的编译时间更长,我们只是预编译了两个网站项目).
我怀疑硬件是问题,因为我运行的是最新的四核英特尔芯片,配备4GB内存和WD Velociraptor 10,000rpm硬盘.而奇怪的部分是EXE似乎没有使用太多的CPU(1-5%)并且似乎也没有做太多的I/O.
那么......这是一个众所周知的问题吗?为什么这么慢?有没有办法加快速度?
注意:为了澄清人们已经回答的一些事情,我不是在谈论Visual Studio中的代码编译.我们已经在使用Web应用程序项目了,编译速度不是问题.问题是在已经编译这些项目之后预先编译网站(有关详细信息,请参阅此MSDN页面)作为开发构建脚本的一部分.我们正在执行就地预编译,而不是将文件复制到目标目录.
对于Python,它可以创建一个预编译的版本file.pyc,以便程序可以运行而无需再次解释.Ruby,PHP和Perl可以在命令行上执行相同的操作吗?
我有一个在VS 2008中运行的Web项目.我们在App_GlobalResources文件夹中有一些全局资源文件(*.resx)用于国际化.所有这些就像我在VS上安装本地IIS时的魅力一样.
但是当我将我的web项目发布到本地文件系统和/或其他服务器时,无法再找到所有资源.所以我想预编译会以某种方式腐蚀东西.当我调用预编译的Web时,我得到一个错误,即无法找到具有密钥xyz的资源对象,尽管之前可以找到它.
我检查了.NET反射器,如果资源的东西进入*.dlls.所有这些标识符都在那里(bin/Web.dll,bin/<culture> /Web.resources.dll).标识符的加载方式如下:
<asp:MenuItem NavigateUrl="~/OrderNew.aspx" Text="<%$ Resources:MyProject, MenuNewOrder %>" Value="NewOrder">
Run Code Online (Sandbox Code Playgroud)
资源文件名为MyProject.resx和MyProject.<culture> .resx其中<culture>对应于特定文化(即MyProject.de-DE.resx).
任何想法如何解决这个问题?
我非常感谢任何帮助.
谢谢
编辑:
如果我手动将App_GlobalResources文件夹复制到输出,则可以正常加载资源.所以我真的很想知道这个预编译是什么.
我仍然有兴趣以"正确的方式"解决问题.
asp.net resources publishing pre-compilation visual-studio-2008
编辑4,5和6
8个小时,欢迎任何更多的想法:)也许这个错误已经知道并解决了,但我得到了我在编辑2和3中描述的行为,当你在app/assets/stylesheets中的.css.erb文件中有这个时:
li {
background-image: url(<%= asset_path "logo_80px_80px.png" %>);
}
Run Code Online (Sandbox Code Playgroud)
问题部分似乎是asset_path方法调用,但.css.scss也打破了它:
li {
background-image: url(image-path("logo_80px_80px.png"));
}
Run Code Online (Sandbox Code Playgroud)
我的GemFile是:
source 'http://rubygems.org'
gem 'rails', '3.1.3'
gem 'pg', '0.11.0'
gem 'gravatar_image_tag', '1.0.0.pre2'
gem 'will_paginate'
gem 'rake'
gem 'jquery-rails'
gem 'nested_form'
gem 'acts-as-taggable-on'
gem 'sass-rails'
group :assets do
gem 'coffee-rails', '~> 3.1.0'
gem 'uglifier', '>= 1.0.3'
end
group :development do
gem 'rspec-rails', '2.5.0'
gem 'annotate', '2.4.0'
gem 'faker', '0.3.1'
end
group :test do
gem 'rspec', '2.5.0'
gem 'webrat', '0.7.1'
gem 'factory_girl_rails', '1.0'
end …Run Code Online (Sandbox Code Playgroud) 我知道在过去有一个选项-fprefix-function-name会为所有生成的符号添加前缀,它似乎不再是gcc的一部分.有没有其他方法可以做到这一点?
自动生成的PrecompiledApp.config让我有些头疼.我自动部署旧网站,50%的时间部署我得到这个错误:
System.IO.IOException: The process cannot access the file '\\web.prod.local\c$\Sites\Website\PrecompiledApp.config' because it is being used by another process.
Run Code Online (Sandbox Code Playgroud)
内容:
<precompiledApp version="2" updatable="true"/>
Run Code Online (Sandbox Code Playgroud)
据我所知,网站使用一些卷影复制功能,允许更新网站"运行时",如app.config等.但这1文件似乎是一个例外.
除了在部署时停止网站,有人可以建议一个解决方法吗?
亲切的问候
我正在使用coffeescript + ruby-on-rails.如果咖啡代码中存在语法问题,将coffeescript编译为纯JS会导致错误.在浏览器上运行应用程序时,我收到此错误:ExecJS :: RuntimeError
有什么办法可以找出导致编译错误的原因,当它试图将咖啡代码编译成JS时?附件是错误的屏幕截图
以下是服务器日志中的条目,它无法指示实际导致语法错误的文件:
ActionView::Template::Error (SyntaxError: [stdin]:25:10: unexpected :):
4: <meta name="viewport" content="width=device-width, initial-scale=1.0">
5: <title><%= content_for?(:title) ? yield(:title) : "Inmonarch Website" %></title>
6: <meta name="description" content="<%= content_for?(:description) ? yield(:description) : "Inmonarch Website" %>">
7: <%= stylesheet_link_tag 'application', media: 'all' %>
8: <%= javascript_include_tag 'application' %>
9: <%= csrf_meta_tags %>
10: </head>
app/views/layouts/dashboard.html.erb:7:in `_app_views_layouts_dashboard_html_erb__3120053487817944018_56303120'
Rendered /home/vipin8169/.rvm/gems/ruby-2.2.3@rails426/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_source.erb (7.4ms)
Rendered /home/vipin8169/.rvm/gems/ruby-2.2.3@rails426/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (3.0ms)
Rendered /home/vipin8169/.rvm/gems/ruby-2.2.3@rails426/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (1.6ms)
Rendered /home/vipin8169/.rvm/gems/ruby-2.2.3@rails426/gems/actionpack-4.2.6/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (25.5ms)
Rendered /home/vipin8169/.rvm/gems/ruby-2.2.3@rails426/gems/web-console-2.3.0/lib/web_console/templates/_markup.html.erb (0.3ms)
Rendered /home/vipin8169/.rvm/gems/ruby-2.2.3@rails426/gems/web-console-2.3.0/lib/web_console/templates/_inner_console_markup.html.erb within layouts/inlined_string (0.3ms) …Run Code Online (Sandbox Code Playgroud)