问题列表 - 第29447页

是否可以将vb.net源代码转换为C++?

是否有任何工具将vb.net源代码转换为C++,例如gnu C++.我知道Mono可以将项目转移到不同的平台,但我更愿意转换源.既然我们都知道.net使用自己的二进制库而不是其他编译器可用,那么有没有任何工具至少将vb.net转换为C++ .net?

提前致谢

c++ vb.net

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

如何在c ++中创建map <string,class :: method>并能够搜索并调用它?

我正在尝试用C++创建一个字符串和方法的映射,但我不知道该怎么做.我想做那样的事情(伪代码):

map<string, method> mapping =
{
  "sin", Math::sinFunc,
  "cos", Math::cosFunc,
  ...
};

...

string &function;
handler = mapping.find(function);
int result;

if (handler != NULL)
  result = (int) handler(20);
Run Code Online (Sandbox Code Playgroud)

说实话,我不知道在C++中是否可行.我想有一个字符串,方法的地图,并能够在我的映射中搜索功能.如果给定函数的字符串名称,那么我想用给定的param调用它.

c++ mapping function-pointers

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

如何在不调用函数的情况下引用函数,因为foo与foo()相同,因此它已被调用

在Ruby中,如何在不调用函数的情况下引用函数,因为foo与foo()相同,因此它已被调用.

例如, puts.class 是一样的 puts().class

ruby methods function

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

Asp.NET Global.asax - 应用程序生命周期

我正在使用Visual Studio 2005,并直接使用其开发应用程序服务器从其中运行我的应用程序.

如果我在Application_Start中设置断点并在Session_Start中设置一个断点,则首先到达后者,我真的认为它应该是另一种方式.

有什么想法吗?

asp.net global-asax

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

排序数组是否为最小堆?最大堆的最小值是多少?

我研究过min-sheaps和max-sheaps,我有几个问题:

  1. 排序数组是否为最小堆?
  2. max-heap的最小值是多少?

heap

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

处理char缓冲区

作为一名C++程序员,我有时需要使用C语言处理内存缓冲区.例如:

char buffer[512];
sprintf(buffer, "Hello %s!", userName.c_str());
Run Code Online (Sandbox Code Playgroud)

或者在Windows中:

TCHAR buffer[MAX_PATH+1]; // edit: +1 added
::GetCurrentDirectory(sizeof(buffer)/sizeof(TCHAR), &buffer[0]);
Run Code Online (Sandbox Code Playgroud)

上面的示例是我通常如何创建本地缓冲区(本地堆栈分配的char数组).但是,有许多可能的变化,因此我对您对以下问题的答案非常感兴趣:

  • 传递缓冲区是否&buffer[0]比传递更好的编程风格buffer?(我更喜欢&buffer[0].)
  • 是否有一个被认为对堆栈分配缓冲区安全的最大大小?
    • 更新:我的意思是,例如,在Mac,Windows,Linux桌面(非移动设备!)上跨平台桌面应用程序可以认为是安全的最高值.
  • 静态缓冲区(static char buffer[N];)更快吗?是否还有其他论据支持或反对?
  • 使用静态缓冲区时,可以使用返回类型const char *.这(通常)是好还是坏?(我确实意识到调用者需要自己创建副本以避免下一次调用会改变之前的返回值.)
  • 如何使用static char * buffer = new char[N];,永远不要删除缓冲区并在每次调用时重复使用它.
  • 我知道在(1)处理大缓冲区或(2)编译时未知最大缓冲区大小时应使用堆分配.堆栈/堆分配决策中是否还有其他因素?
  • 如果你喜欢sprintf_s,memcpy_s......变种?(Visual Studio一直试图让我相信这一点很长时间,但我想要第二个意见:p)

c c++

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

没有在OnPaint()中绘图时双缓冲:为什么它不起作用?

我正在使用C#/ .Net中的简单矢量绘图应用程序.绘图是在一个面板中完成的,但是我并没有对所有这些事件使用OnPaint()事件 - 实际上OnPaint()甚至只调用另一个实际绘制文档中所有内容的方法.

我尝试添加双缓冲,但是当我将DoubleBuffered设置为true时,闪烁问题更加严重.为什么是这样?如果我想双重缓冲控件,我是否必须使用提供的Graphics对象在OnPaint()事件中完成所有绘图,而不是使用Panel.CreateGraphics()然后绘制到那个?

编辑:这是我正在使用的基本代码.

private void doc_Paint(object sender, PaintEventArgs e)
{
    g = doc.CreateGraphics();
    Render(ScaleFactor, Offset);
}    

private void Render(float ScaleFactor, PointF offset)
{
    foreach (Line X in Document.Lines) { DrawLine(X.PointA, X.PointB, X.Color, X.LineWidth); }
}
private void DrawLine(PointF A, PointF B, Color Color, float Width)
{
    Pen p = new Pen(Color, Width);
    PointF PA = new PointF(((A.X + Offset.X) * ScaleFactor), ((A.Y + Offset.Y) * ScaleFactor));
    PointF PB = new PointF(((B.X + Offset.X) * ScaleFactor), ((B.Y + …
Run Code Online (Sandbox Code Playgroud)

.net c# gdi+ winforms

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

有没有关于使用Alex + Happy构建简单解释器的教程?

我正在开展一个学校项目,我必须使用Alex + Happy在Haskell中为一种简单的语言构建一个解释器.

仔细阅读文档后我了解了大部分内容,但希望看到使用这些工具的完整示例.

parsing interpreter haskell alex happy

12
推荐指数
2
解决办法
6334
查看次数

Hibernate二级缓存ObjectNotFoundException,具有大量并发事务

我们有一个Java应用程序,它使用MySQL,Hibernate(3.5.1-Final)和EHcache(1.2.3)作为我们的二级缓存.

我们的hibernate.properties隔离级别是Read-committed isolation = 2

# 2-Read committed isolation 
hibernate.connection.isolation=2
Run Code Online (Sandbox Code Playgroud)

在大量并发事务中,我们看到一个问题,即加载时某些集合(数据库关联)​​将抛出ObjectNotFoundException,并且看起来第二级缓存正在返回该集合的旧副本.

我们有许多不同类型的交易来访问这个集合(只读取),只有一些会添加/删除它的项目.

我们在单个事务负载或甚至中等事务负载(10 - 20个并发连接)下都没有看到此问题.

例如,我们有一个Character实体:

@Entity
@Table(name = "CHARACTERS")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Character extends AbstractCharacter implements Serializable {
...
    @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
    @OneToMany(mappedBy = "character", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    private Set<CharacterItem> items;
Run Code Online (Sandbox Code Playgroud)

我们正在通过从包含它们的集合中删除实体并调用session.delete()来删除实体时正确维护对象图.

    character.getItems().remove(characterItem);
    session.delete(characterItem); 
Run Code Online (Sandbox Code Playgroud)

我们尝试过更改Set项目; CacheConcurrencyStrategy来自:

@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
private Set<CharacterItem> items;
Run Code Online (Sandbox Code Playgroud)

@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private Set<CharacterItem> items;
Run Code Online (Sandbox Code Playgroud)

没有运气.

我们不使用数据库锁,而是使用乐观并发控制来捕获和重试冲突的事务.

目前我们只能看到两个解决方案:

  1. 尝试捕获ObjectNotFoundException并尝试智能地逐出集合(尽管在异常中似乎没有足够的上下文)

  2. 在items集合上使用@NotFound(action = NotFoundAction.IGNORE)注释,它将忽略而不抛出ObjectNotFoundException(但是我们关注它如何与二级缓存一起工作并确保它正在查看正确的数据) .

我希望能有一个@NotFound(动作= …

java concurrency hibernate ehcache second-level-cache

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

如何修复此"忽略SQL语句"错误?

我有以下不编译的小函数:

function f_query_01  Return interval Day to second is 
  start_time timestamp(3);
  end_time timestamp(3);
  time_diff interval Day to second;  
  c_query_number number;

begin

  start_time := systimestamp; 
  select count(*) into c_query_number from wg;  <--This is the line that errors out
  end_time := systimestamp;
  time_diff := start_time - end_time;

  return time_diff;

end f_query_01;
Run Code Online (Sandbox Code Playgroud)

编译器给我以下错误:

Error(29,3): PL/SQL: SQL Statement ignored
Error(29,44): PL/SQL: ORA-04044: procedure, function, package, or type is not allowed here
Run Code Online (Sandbox Code Playgroud)

导致此错误的原因是什么?如何解决?

sql oracle plsql ora-04044

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