我有一个可执行文件名,例如“ cmd.exe”,需要解析它的标准路径。我知道exe出现在PATH环境变量中列出的目录之一中。有没有一种方法可以解析完整路径而无需解析和测试PATH变量中的每个目录?基本上我不想这样做:
foreach (string entry in Environment.GetEnvironmentVariable("PATH").Split(';'))
...
Run Code Online (Sandbox Code Playgroud)
必须有更好的方法,对吗?
我正在使用Beej的网络指南,并遇到了一个别名问题.他提出了一个函数来返回特定结构的IPv4或IPv6地址:
1 void *get_in_addr( struct sockaddr *sa )
2 {
3 if (sa->sa_family == AF_INET)
4 return &(((struct sockaddr_in*)sa)->sin_addr);
5 else
6 return &(((struct sockaddr_in6*)sa)->sin6_addr);
7 }
Run Code Online (Sandbox Code Playgroud)
这会导致GCC 在第3行为sa吐出严格别名错误.据我所知,这是因为我这样调用这个函数:
struct sockaddr_storage their_addr;
...
inet_ntop(their_addr.ss_family,
get_in_addr((struct sockaddr *)&their_addr),
connection_name,
sizeof connection_name);
Run Code Online (Sandbox Code Playgroud)
我猜测别名与their_addr变量是类型的事实有关,sockaddr_storage而另一个不同类型的指针指向同一个内存.
就是要解决这个症结的最佳方式sockaddr_storage,sockaddr_in以及sockaddr_in6组成工会?看起来这应该是网络中的一个很好的领域,我只是找不到任何有最佳实践的好例子.
此外,如果有人能够准确解释别名问题发生的位置,我会非常感激.
在过去的几年里,我主要在Eclipse中完成UI开发,在线程访问方面非常保守:任何尝试从UI线程外部更改UI小部件上的属性(例如,颜色,文本)都会引发异常.
我现在正在查看Swing中的一个现有程序,它有一个包含大量自定义小部件的窗口.有一个单独的线程为每个小部件运行一个变异函数,并且变异函数读取某些东西的值(例如,标签颜色和值)并写入一些(例如,更改背景颜色).请注意,没有涉及自定义绘画或类似的东西,只是对它包含的子窗口小部件的一些更改,主要是JLabel.
目前,这是从单独的线程运行,而不是从Swing事件线程运行.这个线程覆盖了所有400个小部件,并在每个小部件上调用mutator.更新似乎正常工作,但GUI没有响应用户输入.
如果我从Swing线程外部运行大约0.4毫秒并将每个调用包装到invokeLater或invokeAndWait中的mutator,那么UI响应速度要快得多.
我想要了解的是:
1)从Swing线程外部进行所有这些调用有时是否合法?
2)对Swing线程的影响是什么?当我从外面调用它时,为什么UI响应性较差?
Resharper Unit Test Runner运行速度明显慢于nunit-console或nunit gui.
例如,3800次测试通过nunit-console只需60多秒,但这些相同的测试需要5分钟才能在Resharper Unit Test中运行.为何如此显着的差异?
由于我们的测试代码库已经显着增长,这真的开始减慢我们的速度.有没有其他人遇到类似的问题?你是怎么处理的?
Resharper Visual Studio集成非常好,但我们可能需要采用其他方法.
也许我之前停止学习Java的原因可能是因为我讨厌 Java如何处理外部库.我被困在一个地方,将它们单独添加,修复版本控制问题以及每次移动/重命名它们,以及每次发布Java应用程序时反复复制和编写类路径.
所有这一切都必须有一个优雅的解决方案.我将我的所有库(无论任务,平台或其他)保存在我的开发文件夹中的"lib"文件夹中的自己的小文件夹中,有点像这样:
Run Code Online (Sandbox Code Playgroud)Dev -lib +JS-jQuery +Flex-Degrafa -Java-Xerces +Xerces-1.2.3 +More libraries
我可以使用Netbeans或Eclipse for Java dev,但它们都没有提供管理所有这些的非常简化(并且更不用说防止白痴)的方式.
我们将非常感谢在正确方向上的推动或在线文章/教程.
我不需要拍照或访问iPhone相册.我只需要以缩略图形式显示一堆图片,然后让用户在点击时查看更大的版本.
我会使用uiimagepickercontroller或其他控制器吗?
如果有的话,是否有人举例说明我如何加载图片进行查看?
我做了一个表单处理并将代码分解成不同的文件以保持干净和有条理.
现在我正在设置https安全性的表单.
我拉入页面的所有文件都必须被称为https吗?在这种情况下,我不能再使用include(); 因为它不再允许相对路径?
解决方案是使用file_get_contents();? 或者只有(主)页面本身需要被称为https?
这只是前一天工作,但我刚刚将我的代码更新到运行Passenger 2.2.4的评论服务器,我的2.3.4 rails应用程序现在无法在该框上启动.
乘客报告:
Passenger encountered the following error:
The application spawner server exited unexpectedly: Unexpected end-of-file detected.
Exception class:
PhusionPassenger::Railz::ApplicationSpawner::Error
Backtrace:
# File Line Location
0 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/railz/application_spawner.rb 218 in `start'
1 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/spawn_manager.rb 261 in `spawn_rails_application'
2 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/abstract_server_collection.rb 126 in `lookup_or_add'
3 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/spawn_manager.rb 255 in `spawn_rails_application'
4 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/abstract_server_collection.rb 80 in `synchronize'
5 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/abstract_server_collection.rb 79 in `synchronize'
6 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/spawn_manager.rb 254 in `spawn_rails_application'
7 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/spawn_manager.rb 153 in `spawn_application'
8 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/spawn_manager.rb 286 in `handle_spawn_application'
9 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/abstract_server.rb 351 in `__send__'
10 /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/lib/phusion_passenger/abstract_server.rb 351 in …Run Code Online (Sandbox Code Playgroud) 我有这个代码:
field = string.Format(Str, value1, value2,
found == true ? fieldName : "", found == true ? "product" : "");
Run Code Online (Sandbox Code Playgroud)
有没有办法将两个found == true三元运算合并为一个更简洁的代码?