小编Cop*_*pas的帖子

而(1)Vs. for(;;)有速度差吗?

长版......

一位同事在看到我while (1)在Perl脚本中使用for (;;)更快后断言了.我认为他们应该是一样的,希望翻译能够优化任何差异.我设置了一个脚本,它将运行1,000,000,000次循环迭代和相同数量的while循环并记录它们之间的时间.我找不到明显的区别.我的同事说,一位教授告诉他,这while (1)是在进行比较1 == 1而事实for (;;)并非如此.我们用100倍的C++迭代次数重复相同的测试,差异可以忽略不计.然而,它是一个图形示例,说明编译代码与脚本语言相比可以更快.

精简版...

没有任何理由,更喜欢一个while (1)比一个for (;;),如果你需要一个无限循环打出来的?

注意:如果问题不清楚.这在几个朋友之间纯粹是一次有趣的学术讨论.我知道这不是一个超级重要的概念,所有程序员都应该为之痛苦.感谢所有伟大的答案我(我相信其他人)从这次讨论中学到了一些东西.

更新:前面提到的同事在下面做出回应.

这里引用以防它被埋没.

它来自AMD汇编程序员.他说C程序员(人们)没有意识到他们的代码效率低下.他今天说,gcc编译器非常好,让像他这样的人破产.他举例称,并告诉我关于while 1VS for(;;).我现在出于习惯而使用它,但是gcc和特别是解释器在这些日子里都会做同样的操作(处理器跳转),因为它们已经过优化.

c++ optimization perl performance

152
推荐指数
13
解决办法
5万
查看次数

图标采购:制作一个,买一个或找一个

我为家庭和工作中的各种事物制作了许多简单的单一可执行应用程序.对我来说,图标似乎总是一个问题我不是设计师.像大多数人一样,我可以在photoshop,gimp和paint.net这里和那里做一点点.但是,如果事情需要看起来"好",我就不应该被信任.

问题是你如何处理只需要一些独特的小项目(通常是一天)的图标.没有任何东西可以让用户将其与其使用相关联并在桌面上快速找到它.即使是基于Gravatar分形图标的东西也是一个很好的起点.

我知道当被问及免费图标时,大量的知识会带来许多结果,但我想知道我的同行(和高级)开发人员在这种情况下做了什么.

如果它是你使用的图标制作软件而且你是一个设计师,它看起来不是很糟糕,但可能不适合我.

你有没有买过图标?什么是商业产品的信誉良好的网站,你会在哪里避开?

最后,当你在网上找到免费图标时,你会注意哪些类型的许可证?

icons

12
推荐指数
3
解决办法
1033
查看次数

如何在没有使用javascript的id的情况下向html标签添加onclick事件?

我试过这样做,但似乎没有用:

 window.onload = initAll;


    function initAll(){
    document.getElementsByTagName('a').onclick = clickHandler;
     }

    function clickHandler(){
        if(this.toString().indexOf("localhost") < 0) {
            confirmation = confirm("You are now leaving http://soso.com.  Please click 'ok' to continue to this site, or 'cancel' to stay in http://soso.com");
                if (confirmation == false){
                    return false;
                }

        }

    }
Run Code Online (Sandbox Code Playgroud)

我知道我可以getElementById并且这样可行,但它不会这样工作.任何帮助,将不胜感激.

谢谢!

javascript

8
推荐指数
2
解决办法
8923
查看次数

Perl one liner提取多线图案

我在文件中有一个模式如下,它可以/不能跨越多行:

 abcd25
 ef_gh
 ( fg*_h
 hj_b*
 hj ) {
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

perl -nle'打印时m/^\s*(\ w +)\ s +(\ w +?)\ s*(([\ w-0-9,*\s] ))\ s {/ gm'

我不知道这里的标志是什么意思,但我所做的只是regex为模式写一个并将其插入模式空间.如果模式在一行中,则匹配良好:

abcd25 ef_gh ( fg*_h hj_b* hj ) {
Run Code Online (Sandbox Code Playgroud)

但仅在多线情况下失败!

我昨天开始使用perl,但语法太混乱了.因此,正如我们的SO伙伴之一所建议的那样,我写了一个regex并将其插入到他提供的代码中.

我希望perl在这种情况下,和尚可以帮助我.欢迎替代解决方案.

输入文件 :

 abcd25
 ef_gh
 ( fg*_h
 hj_b*
 hj ) {

 abcd25
 ef_gh
 fg*_h
 hj_b*
 hj ) {

 jhijdsiokdù ()lmolmlxjk;
 abcd25 ef_gh ( fg*_h hj_b* hj ) {
Run Code Online (Sandbox Code Playgroud)

预期产量:

 abcd25
 ef_gh
 ( fg*_h
 hj_b*
 hj ) {
 abcd25 ef_gh …
Run Code Online (Sandbox Code Playgroud)

bash perl awk sed perl-module

8
推荐指数
2
解决办法
9880
查看次数

Perl正则表达式没有像预期的那样突破到循环

当我打印我试图用来控制until循环的正则表达式的结果时,它给我1或者我期待的null.为什么下面的代码不起作用,但如果我取消注释第五行它可以正常工作?

print("Please enter 1, 2, 3 or 4 : ");
my $channelSelection = "";

until ($channelSelection =~ /^[1-4]$/) {
    chomp(my $channelSelection = <STDIN>);
    #last if ($channelSelection =~ /^[1-4]$/);
    print ("Invalid choice ($channelSelection) please try again: ") 
        if ($channelSelection !~ /[1-4]/);
}
Run Code Online (Sandbox Code Playgroud)

我确信这已在其他地方得到解决,但无法通过搜索找到它.把我指向正确的方向会很棒.

我通常会做类似的事情.

print("Please enter 1, 2, 3 or 4 : ");
my $channelSelection = "";
while (1) {
    chomp(my $channelSelection = <STDIN>);
    last if ($channelSelection =~ /^[1-4]$/);
    print ("Invalid choice ($channelSelection) please try again: ") if ($channelSelection !~ /[1-4]/); …
Run Code Online (Sandbox Code Playgroud)

regex perl

7
推荐指数
3
解决办法
539
查看次数

android/opengles alpha纹理不是半透明而是二进制透明

我正在使用alpha通道绘制一些纹理,但是当它们显示时,它看起来像alpha通道只是二进制.因此像素是透明的或不透明的,尽管在纹理文件本身中像素是半透明的.混合设置如下:

gl.glEnable(GL10.GL_BLEND);
gl.glBlendFunc(GL10.GL_ONE, GL10.GL_ONE_MINUS_SRC_ALPHA);
Run Code Online (Sandbox Code Playgroud)

这个问题有解决方法吗?

以上显示了它应该如何,以下显示它是如何:

替代文字

transparency android textures alphablending opengl-es

6
推荐指数
1
解决办法
4772
查看次数

RichtextBox中的着色文本,C#

如何使用一些不同的颜色为新的文本行着色,然后将其添加到RichTextBox?我正在使用SilverLight.

c# silverlight richtextbox

6
推荐指数
1
解决办法
3222
查看次数

仅将可见单元格从Excel保存为CSV

精简版:

如何只保存xls的可见单元格作为csv?

更长版本:

我有一个大的.xls文件,其中包含一些分布在许多工作表上的数据,我希望这些数据可用于一些旧的UNIX perl脚本.我有一些代码会监视文件进行修改,重新生成csv文件并将它们FTP到我需要的地方.问题是维护电子表格的人不想删除旧数据,他们只是将其隐藏在视图中以供后者参考.我保存到csv的方法(正如你在大多数用例中所预期的那样)最终得到所有隐藏数据并且可以并排显示,无法知道最初隐藏的是什么.我已经在网上和这里进行了一些搜索,并且无法找到以编程方式执行此操作的任何方式(我能够遵循).下面是我正在使用的一些代码.如果它可以作为答案的起点,那么我会更容易理解.

在此先感谢,你们总是非常乐于助人.


下面是我发现的一些VBScript,它完成了工作但包含了所有数据(不仅仅是可见数据).

Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open("S:\NetowrkFolder\SpreadSheet.xls")
Dim oSheet

If oBook.Sheets.count = 1 Then
  oBook.SaveAs "D:\output.csv", 6
else
  i=1
  aname=split("D:\output.csv",".",-1,1)
  For Each oSheet In oBook.WorkSheets
    fname = aname(0) & "_sheet" & Cstr(i)
    oSheet.SaveAs fname, 6
    i=i+1
  Next
End If

oBook.Close True
oExcel.Quit
WScript.Quit
Run Code Online (Sandbox Code Playgroud)

我实际上在AutoIt下面做的这个项目是我用来完成同样事情的AutoIt代码.不幸的是,它仍然包含所有隐藏的数据.

Local $oExcel = ObjCreate("Excel.Application")
Local $oBook = $oExcel.Workbooks.Open("Y:\NetworkLocation\File.xls")
Local $oWorkSheets = $oBook.WorkSheets
Local $i = 1
For $oSheet In $oWorkSheets …
Run Code Online (Sandbox Code Playgroud)

vbscript excel autoit

5
推荐指数
1
解决办法
3866
查看次数

Google plus的access_token集成

我跟着:http: //developers.google.com/+/api/oauth 和:http:
//developers.google.com/+/api/latest/people/get#examples

我获得访问令牌后,我不明白如何获取用户的ID?如何使用它来获取用户的数据?

access-token google-plus

4
推荐指数
1
解决办法
4416
查看次数

Intelligencia.UrlRewriter会话状态问题

我使用Intelligencia.UrlRewriter实现了URL重写(无扩展),它在我的PC上完美运行但在服务器上我收到以下错误

Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive. Please also make sure that System.Web.SessionStateModule or a custom session state module is included in the <configuration>\<system.web>\<httpModules> section in the application configuration.
Run Code Online (Sandbox Code Playgroud)

这是我的web.config文件

<?xml version="1.0"?>
<configuration>
    <configSections>
    <section name="rewriter" requirePermission="false"
           type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
        <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
            <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
                <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
                <sectionGroup …
Run Code Online (Sandbox Code Playgroud)

asp.net url-rewriting

3
推荐指数
1
解决办法
1404
查看次数