问题列表 - 第21238页

关于调用自身的函数的堆栈重用?

如果函数在同时定义变量时调用自身会导致堆栈溢出吗?gcc中是否有任何选项可以重用相同的堆栈.

void funcnew(void)
{
   int a=10;
   int b=20;
   funcnew();
   return ;
 }
Run Code Online (Sandbox Code Playgroud)

函数可以重用它之前使用的堆栈帧吗?gcc中的选项是什么在尾递归中重用相同的帧?

c stack-overflow gcc function frame

7
推荐指数
2
解决办法
1249
查看次数

从另一个线程添加表单上的控件

我试图推迟向我的主表单添加控件,目标是加快它的开始时间.好吧,我运行以下异常:

跨线程操作无效:控制从其创建的线程以外的线程访问的"Form1".

我试图在一个较小的例子上简单地解决问题,但问题仍然存在.这是我的代码:

using System;
using System.Drawing;
using System.Threading;
using System.Windows.Forms;

namespace AddConrolFromAnotherThread {
    public partial class Form1 : Form {

        public Form1() {
            InitializeComponent();
        }


        private void AddButton() { 
            if(this.InvokeRequired){
                this.Invoke(new MethodInvoker(this.AddButton));
            }
            Random random = new Random(2);
            Thread.Sleep(20);
            Button button = new Button();
            button.Size = new Size(50,50);
            button.Location = 
                new Point(random.Next(this.Width),random.Next(this.Height));
                this.Controls.Add(button);
        }

        private void buttonStart_Click(object sender, EventArgs e) {
            Thread addControlThread = 
                new Thread(new ThreadStart(this.AddButton));
            addControlThread.Start();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我确实使用了Invoke方法并检查了InvokeRequiered是否为true,但InvokeRequiered保持"true".我真的不明白.至少我会期望StackOverflow异常,因为这是一个递归调用.

所以,如果有人遇到类似问题,请告诉我,我做错了什么?

c# multithreading invoke

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

如何在Solr中同时搜索多值facet字段中的空白面?

我有一个用户可以选择汽车零件的应用程序.他们选择车辆,然后选择车辆属性作为方面.在选择了他们的车辆后,他们可以选择像发动机尺寸这样的方面,例如,缩小结果列表.问题是,并非所有文档都有引擎大小(在Solr中它是一个空值),因为它对所有部分都无关紧要.例如,发动机尺寸对于空气过滤器很少很重要.因此,即使用户选择了3.5L的发动机尺寸,我仍然希望在屏幕上显示空气过滤器作为用户可以选择的部分.我做了一些搜索,以下的facet查询完美地运行:

enginesize:"3.5" OR enginesize:(*:* AND -enginesize:[* TO *]) 
Run Code Online (Sandbox Code Playgroud)

此查询将匹配3.5或匹配记录,其中没有引擎大小字段的值(没有值意味着它无关紧要,它适合汽车).完善...

问题:我最近制作了车辆属性字段的多值字段,因此我可以将每个部分的属性存储为列表.然后我将切面应用于它,它工作正常.但是,当我应用上面提到的查询时出现了问题.虽然选择engineize facet缩小了显示的文档数量,但只显示了具有该引擎大小的文档,但是没有出现具有空值(即"")的记录(我也使用单词记录表示文档).上面的相同查询对于多值facet不起作用,就像engineize是单值字段时一样.

例:

 <doc> 
  <str name="part">engine mount</str>
  <arr name="enginesize">
   <str/>
   <str/>
   <str>3.5</str>
   <str>3.5</str>
   <str>3.5</str>
   <str>3.5</str>
   <str>3.5</str>
  </arr>
 <doc>

<doc> 
  <str name="part">engine bolt</str>
  <arr name="enginesize">
   <str>6</str>
   <str>6</str>
   <str>6</str>
   <str>6</str>
   <str>6</str>
  </arr>
 <doc>

 <doc> 
  <str name="part">air filter</str>
  <arr name="enginesize">
   <str/>
   <str/>
   <str></str>
   <str></str>
   <str></str>
   <str></str>
   <str></str>
  </arr>
 <doc>
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是一个查询,当我对3.5的引擎大小进行方面搜索时,将回退上面的文档1和3.第一个文档(引擎挂载)匹配,因为它包含我正在寻找的多个字段"enginesize"中的值(在其中一个字段中包含3.5).但是,由于空<str>值,空气过滤器的第三个文档不会返回.我根本不想返回第二个文档,因为它与构面值不匹配

我基本上想要一个匹配给定facet的空字符串值并且也匹配实际值的查询,所以我得到两个文件都返回.

有人有查询会返回文档1和文档3(引擎支架和空气过滤器),但不会返回引擎螺栓文档吗?

我尝试了以下但没有成功(包括问题最顶端的那个):

// returns everything
enginesize:"3.5"    OR  (enginesize:[* TO *] )
// only returns document 1
enginesize:"3.5"    OR  (enginesize:["" TO …
Run Code Online (Sandbox Code Playgroud)

solr multivalue faceted-search

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

JdbcTemplate与TransactionManager如何一起工作?

据我所知,DataSourceTransactionManager将JDBC连接从指定的DataSource绑定到当前线程,允许每个DataSource一个线程绑定连接.如果它是一个连接池,它将采用一个可用的连接.

在此之后,如果我在事务中使用JdbcTemplate,它将捕获由DataSourceTransactionManager绑定的连接.我能正确理解机制吗?有没有要求进行事务管理器bean定义(即单例)?

java spring transactions jdbctemplate

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

是否有linux命令来确定与给定进程ID关联的窗口ID?

给定XX的进程iD,我想要列出任何窗口ID,其中_NET_WM_PID = XX.如果可能的话,更好的是最老的仍然活跃的窗口ID.

我对linux很新,但我要做的是创建一个脚本,该脚本将采用命令行,并查看是否已经打开一个属于使用相同命令行调用的进程的窗口.如果是这样,只需将焦点设置到该窗口,否则执行命令行以获得新进程.我的目的是在我的ubuntu桌面中使用它,我将把这个脚本挂钩到我的easystroke鼠标手势命令中,这样,例如,每次我为gmail做手势我都没有得到一个全新的gmail会话,我只是被带到我现有的gmail chrome app窗口.也许有一个更简单的方法来解决所有这些问题,但我还没有找到方法.

在帮助下,我已经弄清楚如何使用pgrep找到命令行的PID以及如何使用wmctrl将焦点设置到窗口句柄,但我仍然坚持从PID到窗口ID.

linux x11

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

如何刷新Android listview?

ListView添加/删除动态数据后如何刷新Android ?

android refresh android-listview

423
推荐指数
7
解决办法
48万
查看次数

1 Heroku dyno上有多少个Rails应用程序?

我只是找不到你可以用一个dyno在heroku上托管多少个应用程序?

我打算主持很多流量很小的小应用程序.

谢谢你的回答

ruby hosting ruby-on-rails heroku

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

强制InnoDB重新检查表/表上的外键?

我有一组InnoDB表,我经常需要通过删除一些行并插入其他行来维护.其中一些表具有引用其他表的外键约束,因此这意味着表加载顺序很重要.要插入新行而不必担心表的顺序,我使用:

SET FOREIGN_KEY_CHECKS=0;
Run Code Online (Sandbox Code Playgroud)

之前,然后:

SET FOREIGN_KEY_CHECKS=1;
Run Code Online (Sandbox Code Playgroud)

后.

加载完成后,我想检查更新表中的数据是否仍然保持参照完整性 - 新行不会破坏外键约束 - 但似乎没有办法做到这一点.

作为测试,我输入的数据确实违反了外键约束,并且在重新启用外键检查时,mysql没有产生任何警告或错误.

如果我试图找到一种方法来指定表加载顺序,并在加载过程中留在了外键检查,这不会让我在具有自引用外键约束的表加载数据,因此这将不是一个可接受的解决方案

有没有办法强制InnoDB验证表或数据库的外键约束?

mysql innodb foreign-keys

60
推荐指数
3
解决办法
2万
查看次数

GWT中的可移动面板?

我需要一些GWT中具有可移动功能的面板.这样,如果您有一系列必须在屏幕上显示的事件驱动面板,它们并非全部直接在彼此之上.当您想要比较两个不同的面板或想要按照自己的顺序关闭面板时,这可能会导致问题.

我目前正在使用PopupPanels哪个据我所知,没有这个功能.

gwt panels

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

如何使您的MFC应用程序绕过Windows 7和Vista中的UAC

我有一个在VS Studio 2008中开发的MFC应用程序,它在其安装文件夹中读取和写入JSON文件.它在vista(管理员)中完美运行但仅在UAC关闭时.当UAC为ON时,应用程序无法写入其JSON文件.我想我必须创建一个清单文件,但我还没有真正尝试创建一个.

问题:

  1. 参考:http://msdn.microsoft.com/en-us/library/bb384691.aspx.它在这里说你可以在Visual Studio开发环境中简单地设置链接器选项.我需要选择哪些值:
    a)启用用户帐户控制(UAC)?[我试过没了].

    b)UAC执行级别?[我试过最高可用].

    c)和UAC绕过用户界面保护?[我试过是].

  2. 我是否需要在软件包中添加清单文件(exe,Dll等)?

谢谢...

mfc uac windows-vista visual-c++

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