问题列表 - 第13306页

如何让Perl的ref()函数返回REF,IO和LVALUE?

ref()的文档提到了几个可能的返回值.我明白了其中大部分,但不是REF,IOLVALUE.我如何编写Perl代码ref以返回这些值?

在阅读了关于typeglobs和文件句柄的文档后,我接近了IO这段代码:

open(INPUT, '<', 'foo.pl');
print ref(*INPUT{IO}), "\n";  # Prints IO::Handle
Run Code Online (Sandbox Code Playgroud)

因为REFLVALUE我尝试了几个奇怪的结构,但没有成功.

perl types

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

SQL Server 2008空字符串与空格

今天早上我遇到了一些奇怪的事情,并认为我会提交评论.

有人可以解释为什么以下SQL查询在针对SQL 2008运行时打印"相等".数据库兼容级别设置为100.

if '' = ' '
    print 'equal'
else
    print 'not equal'
Run Code Online (Sandbox Code Playgroud)

这返回0:

select (LEN(' '))
Run Code Online (Sandbox Code Playgroud)

它似乎是自动修剪空间.我不知道在以前版本的SQL Server中是否就是这种情况,我不再需要测试它.

我遇到了这个,因为生产查询返回了错误的结果.我无法在任何地方找到这种行为.

有没有人有这方面的任何信息?

t-sql sql-server string-length sql-server-2008 datalength

81
推荐指数
4
解决办法
3万
查看次数

每个asm指令的大小是多少?

每个asm指令的大小是多少?每条指令占用多少字节?8个字节?四个用于操作码,四个用于参数?例如,当你在mov中有一个操作码和2个参数时会发生什么?它们在内存中是否具有固定大小或它们是否有所不同?EIP是否与此有关,它的值总是加1,完全独立于它所经过的指令类型?

我问这个当我正在阅读http://en.wikibooks.org/wiki/X86_Disassembly/Functions_and_Stack_Frames时,我偶然发现,看起来调用指令相当于push和jmp指令.

call MYFUNCTION
mov my_var, eax
Run Code Online (Sandbox Code Playgroud)

和...一样

push [eip + 2];
jmp MYFUNCTION;
mov my_var, eax
Run Code Online (Sandbox Code Playgroud)

当我们在堆栈上推动[eip + 2]时,我们指向的值是什么?到"jmp MYFUNCTION"旁边的行,移动my_var eax,对吧?

ps:MSVC++在第一行标记错误,因为它表示eip未定义.它适用于eax,esp,ebp等.我做错了什么?

x86 assembly

11
推荐指数
1
解决办法
2万
查看次数

在多线程代码中出于性能原因要避免什么?

我目前正在审查/重构一个多线程应用程序,该应用程序应该是多线程的,以便能够使用所有可用内核并理论上提供更好/更优越的性能(优越的商业术语更好:P)

在编写多线程应用程序时我应该注意哪些事项?

我的意思是会对性能产生很大影响的事情,甚至可能会让您在多线程中没有获得任何东西,但却因设计复杂性而损失惨重.多线程应用程序有哪些重要的危险信号?

我应该开始质疑锁定并寻找无锁策略,还是应该点亮警示灯还有其他更重要的点?

编辑:我想要的答案类似于Janusz的答案,我希望在代码中查找红色警告,我知道应用程序执行效果不佳,我需要知道从哪里开始查找什么应该担心我,我应该在哪里努力.我知道这是一个普遍的问题,但我无法发布整个程序,如果我可以选择一段代码,那么我首先不需要问.

我正在使用Delphi 7,虽然应用程序将在明年移植/重新制作.NET(c#),所以我宁愿听到适用于一般做法的评论,如果它们必须特定于任何一个那些语言

performance multithreading

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

传递给函数两次时,通用类型T的编译错误

我可能遗漏了一些非常基本的东西,但我无法弄清楚为什么我得到某个代码的编译错误而且我没有用几乎相同的代码得到它.

所以我在这里得到一个错误:

//parent.GetChildren() returns a IEnumerable<IBase> 
F1<T>(T parent, Func<string, T, string> func) where T: IBase
{
    F1(parent.GetChildren(), func);
    //This would wok instead:
    //F1(parent.GetChildren().Select(c=> (T)c), func);
}

F1<T>(IEnumerable<T> children, Func<string, T, string> func) where T: IBase
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

但我不在这里:

//parent.GetChildren() returns a IEnumerable<IBase> 
F1<T>(T parent, Func<string, string, string> func) where T: IBase
{
    //Works, no casting required
    F1(parent.GetChildren(), func);
}

F1<T>(IEnumerable<T> children, Func<string, string, string> func) where T: IBase
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

基本上,如果我在传递的参数函数中使用泛型Type T作为其参数之一,我会得到以下编译错误:

错误1:' ConsoleApplication1.Program.FooConsumer.Consume1<ConsoleApplication1.Program.IBase>(System.Collections.Generic.IEnumerable<ConsoleApplication1.Program.IBase>, string, System.Func<string,ConsoleApplication1.Program.IBase,string>)' 的最佳重载方法匹配包含一些无效参数 …

.net generics parameters casting interface

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

c ++ vector <char>和套接字

有没有办法在向量中调用send/recv传递?

在c ++中缓冲套接字数据的好习惯是什么?例如:读取直到\ r \n或直到upper_bound(4096字节)

c++ sockets vector

4
推荐指数
3
解决办法
6118
查看次数

我的网站如何删除其他网站的cookie?

我想从我网站上的用户中删除其他网站的Cookie.有没有办法从不同的域访问cookie.

cookies http

16
推荐指数
3
解决办法
7238
查看次数

SQL Server 存储过程区分大小写?

我有一个区分大小写的服务器 (SQL_Latin1_General_CP1_CS_AS) 但数据库不区分大小写 (SQL_Latin1_General_CP1_CI_AS)。

如果我尝试在数据库上创建以下存储过程,则会收到错误“必须声明标量变量“@test”。

CREATE PROCEDURE [dbo].[sp_Test] (@TEST int) as
begin   
    SELECT @test
end
GO
Run Code Online (Sandbox Code Playgroud)

但正如我所说,数据库本身不区分大小写。我假设这被记录在某个地方,存储过程遵循服务器的敏感性,但我在任何地方都找不到参考。谁能指出我在哪里可以找到有关此的一些文档?(是的,我试过谷歌,但我没有找到任何东西)

sql-server stored-procedures

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

ruby对象数组...或哈希

我现在有一个对象:

class Items
  attr_accessor :item_id, :name, :description, :rating

  def initialize(options = {})
      options.each {
        |k,v|
        self.send( "#{k.to_s}=".intern, v)
      }
  end

end
Run Code Online (Sandbox Code Playgroud)

我把它作为单个对象分配到一个数组中......

@result = []

some loop>>
   @result << Items.new(options[:name] => 'name', options[:description] => 'blah')
end loop>>
Run Code Online (Sandbox Code Playgroud)

但不是将我的单个对象分配给数组......我怎样才能使对象本身成为一个集合?

基本上想要以这样的方式拥有对象,以便我可以定义诸如的方法

def self.names
   @items.each do |item|
      item.name
   end
end
Run Code Online (Sandbox Code Playgroud)

我希望这是有道理的,可能我忽视了一些宏伟的计划,这将使我的生活在两行中变得无比轻松.

ruby arrays methods ruby-on-rails class

2
推荐指数
1
解决办法
7246
查看次数

C#中ComVisible类中的接口继承

无法从w/cscript访问继承的属性(P1).

类结构看起来像这样:

[ComVisible]
public interface IA 
{
     string P1{get;} 
} 

[ComVisible]
public interface IB : IA
{
    string P2{get;} 
}

[ComVisible]
public abstract class Base : IA
{
    public string P1{get{return "somestring";}}
}   

[ComVisible]
public class Concrete : Base, IB
{
   public string P2{get{return "P2somestring";}}
}
Run Code Online (Sandbox Code Playgroud)

js文件中的客户端代码:

try{
var obj = new ActiveXObject("Concrete");
WshShell.Popup(obj.P1); //<-- displays empty string
}catch(e)
{
WshShell.Popup(e.description);
}
Run Code Online (Sandbox Code Playgroud)

如果我将属性P1添加到接口IB,一切正常,但那么继承点是什么呢?或者我在这里做错了什么?

c# com interface

5
推荐指数
2
解决办法
4377
查看次数