小编Eld*_*dad的帖子

转换内联汇编以支持x64

我有一个用我的C代码编写的小内联汇编代码.asm遍历数组,如果需要,将值从不同的数组移动到寄存器.最后,调用一个中断.代码类似于:

cmp arrPointer[2],1h
jne EXIT
mov AX, shortArrPtr[2]
EXIT:
int 3h
Run Code Online (Sandbox Code Playgroud)

这一切都在x86中工作,但根据microsoft:x64不支持内联汇编.如何将其全部翻译为支持x64?我找不到执行我想要的编译器内部过程,我无法弄清楚如何将参数传递给外部asm文件.

c 64-bit assembly inline-assembly

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

Winforms\WPF - 如何创建流程图相似的图形

我正在写一个winforms应用程序,我需要创建一个与此相似的视图: 流程图

有什么建议怎么办?也许使用WPF会更容易?

我想过绘制矩形或某种表格.是否有任何开源控制可以更容易地做到这一点?

.net wpf graphics charts winforms

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

如何将行添加到TableLayoutPanel的中间

我有一个包含3列和1行的TableLayoutPanel :(删除按钮,用户控件,添加按钮)

我想要添加按钮添加一个类似于上面单击按钮的新行:例如:BEFORE:

  1. (删除按钮1,用户控制2,添加按钮1)
  2. (删除按钮2,用户控制2,添加按钮2)

点击"添加按钮1"后:

  1. (删除按钮1,用户控制2,添加按钮1)
  2. (删除按钮3,用户控制3,添加按钮3)
  3. (删除按钮2,用户控制2,添加按钮2)

我设法将行添加到tablelayoupanel的末尾,但不添加到中间:它一直搞砸了布局.这是事件处理程序的片段:

void MySecondControl::buttonAdd_Click( System::Object^ sender, System::EventArgs^ e )
{
   int rowIndex = 1 + this->tableLayoutPanel->GetRow((Control^)sender);

   /* Remove button */
   Button^ buttonRemove = gcnew Button();
   buttonRemove->Text = "Remove";
   buttonRemove->Click += gcnew System::EventHandler(this, &MySecondControl::buttonRemove_Click);

   /* Add button */
   Button^ buttonAdd = gcnew Button();
   buttonAdd->Text = "Add";
   buttonAdd->Click += gcnew System::EventHandler(this, &MySecondControl::buttonAdd_Click);

   /*Custom user control */
   MyControl^ myControl = gcnew MyControl();

   /* Add the controls to the Panel. */
   this->tableLayoutPanel->RowCount += 1;
   this->tableLayoutPanel->Controls->Add(buttonRemove, 0, …
Run Code Online (Sandbox Code Playgroud)

user-controls tablelayoutpanel winforms

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

ElasticSearch:比较点缀的版本字符串

我正在寻找一种方法来将点缀版本另存为弹性形式的字符串(例如“ 1.2.23”),然后在此字段上使用范围查询。例如

{
 "query": {
   "range": {
    "version": {"gte": "1.2.3", "lt": "1.3"}
   }
  }
}
Run Code Online (Sandbox Code Playgroud)

我只有3个组件(主要,次要,构建)。我需要能够确定

  • 1.20.3> 1.2.3
  • 1.02.4> 1.2.3
  • 1.3> 1.2.3

我考虑了以下方法:

  1. 用零填充(例如“ 1.2.3”->“ 000001.000002.000003”)。假设我知道每个组件的最大长度
  2. 分为3个不同的整数字段(即“主要”,“次要”,“内部”)。为此编写查询似乎很痛苦,但是我很乐意为此寻求建议。
  3. 也许某种自定义分析器?我看到了这一点:用于自然排序的Elasticsearch分析插件可能是一个不错的开始。

还有其他想法或建议吗?

elasticsearch elasticsearch-plugin

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

C:INT命令和C变量中的内联汇编

我正在尝试使用C变量在C代码中使用汇编.我的代码看起来像这样:

__asm { INT interruptValue };
Run Code Online (Sandbox Code Playgroud)

其中'interruptValue'是我从用户那里获得的变量(例如15或15h).当我尝试编译时,我得到:

汇编程序错误:'无效的指令操作数'

我不知道interruptValue的正确类型是什么.我尝试了长\ int\short\char\char*,但没有一个工作.

c assembly inline-assembly

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