问题列表 - 第37762页

C-> C++在#define中自动将void指针转换为C++中的Type指针,如果没有给出类型(C风格)[MSVS]

嗨!

我使用了以下C宏,但在C++中它无法自动转换void*type*.

#define MALLOC_SAFE(var, size) { \
    var = malloc(size); \
    if (!var) goto error; \
}
Run Code Online (Sandbox Code Playgroud)

我知道,我可以这样做:

#define MALLOC_SAFE_CPP(var, type, size) { \
    var = (type)malloc(size); \
    if (!var) goto error; \
}
Run Code Online (Sandbox Code Playgroud)

但我不想重写大部分代码,MALLOC_SAFE使用的地方.

有没有办法在没有给宏的类型的情况下这样做?也许一些MSVC 2005 #pragma/__declspec/其他?

ps:我不能使用C编译器,因为我的代码是大项目的一部分(数百个模块之一).现在它是在C++上.我知道,我可以单独构建我的代码.但这是旧代码,我只是想快速移植它.

问题是关于void*cast;)如果不可能,我只需用MACRO_SAFE_CPP替换MACRO_SAFE

谢谢!

c c++ casting void-pointers visual-c++

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

我可以将PHP限制为它所在的文件(停止滥用吗?)

我正在制作一个小文件编辑器,唯一的解决方案就是我不希望有权访问它的人确实使用危险的功能,例如unlink chdir exec,我相信还有100多个他们无法使用.

我正在考虑制作一系列危险的函数,我不希望它们能够使用,当它们保存文件时只是将它们输出,但问题是如果我省略了几个危险的函数?

所以,我希望A)有人可以给我一个人们可以在PHP中滥用的功能列表,或者B)给我一个更好的解决方案来解决这个问题.

注意我不是服务器管理员所以我只能使用htaccess,如果你可以帮助后者

戴夫

php security

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

如何正确级联在Hibernate 3.6中保存主键上的一对一双向关系

我与共享密钥有一对一的双向实体关系.当我尝试保存关联的所有者时,我得到了一个"null id generated"异常,对照关系的拥有方.我正在利用hibernate-entitymanager并使用spring进行事务管理.

拥有实体

@Entity
@Table(name = "lead")
public class Lead
{
    private Long leadId;

    private LeadAffiliate leadAffiliate;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    public Long getLeadId()
    {
        return leadId;
    }

    @OneToOne(cascade = CascadeType.ALL)
    @PrimaryKeyJoinColumn
    public LeadAffiliate getLeadAffiliate()
    {
        return leadAffiliate;
    }
}
Run Code Online (Sandbox Code Playgroud)

拥有实体

@Entity
@Table(name = "lead_affiliate")
public class LeadAffiliate
{
    private Long leadId;

    private Lead lead;

    @Id
    public Long getLeadId()
    {
        return leadId;
    }

    @MapsIdmappedBy = "leadAffiliate")
    @OneToOne(cascade = CascadeType.All)
    @PrimaryKeyJoinColumn
    @JoinColumn(name = "lead_id")
    public Lead getLead()
    {
        return lead; …
Run Code Online (Sandbox Code Playgroud)

java orm hibernate jpa jpa-2.0

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

浏览器是否在GET/POST上保留具有相同名称的输入顺序?

我有这个HTML代码与多个inputs同名:

<input type="hidden" value="42" name="authors" />
<input type="hidden" value="13" name="authors" />
<input type="hidden" value="33" name="authors" />
Run Code Online (Sandbox Code Playgroud)

值的顺序很重要.HTML规范是否定义用户代理必须保留此顺序,如果是,那么常见(市场份额> 1%)浏览器是否遵循此定义?

如果有人知道WSGI,特别是Django是否保留了服务器端的订单,那么奖励积分:-)

谢谢!

html wsgi cross-browser

29
推荐指数
2
解决办法
2360
查看次数

你能在F#中定义一个运算符(***)吗?

我正在研究F#中的Arrows,我想创建一个***运算符.但是,我注意到,(***)在函数定义中表示运算符的必要方法与F#块注释语法重叠.那么你怎么能真正表达这个呢?

我想也许,.***.但我认为这实际上将点作为操作员的一部分,我宁愿避免.

f# functional-programming arrows operators

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

ActiveRecord3死锁重试

是否有任何Rails 3(或ActiveRecord 3)的插件可以复制旧的deadlock_retry插件?或者,该插件是否仍适用于Rails 3?

mysql deadlock ruby-on-rails-3

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

用于将所有项目与同一列表中的另一项目匹配的算法,其中一些项目具有限制

给定数组[a,b,c,d,e,f]

我希望将每个字母与除自身之外的任何其他字母相匹配,从而产生如下内容:

  • a - c
  • b - f
  • d - e

问题在于,每个字母可能被限制为与一个或多个其他字母匹配.

所以,比如说,

  • a不能与c,d匹配
  • c不能与e,f匹配
  • e无法与a匹配

关于如何解决这个问题的任何指导?我正在使用Ruby,但任何伪代码都会有所帮助.

谢谢!

ruby algorithm math

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

使用android WebView加载现有的.html文件

我确实尝试过使用Google代码和其他资源的示例,演示WebView,但是当我尝试在我自己的代码中执行此操作时,它对我不起作用.

我想加载myfile.html我放在assets文件夹中,并使用:

private WebView myWebView;

myWebView.loadUrl("file:///android_assets/myfile.html");
Run Code Online (Sandbox Code Playgroud)

在模拟器上显示错误

file:///android_assets/myfile.html无法加载网页:找不到请求的文件. /android_assets/myfile.html

当我把该文件放到文件res/raw/夹并使用:

myWebView.loadUrl("file:///android_res/raw/myfile.html");
Run Code Online (Sandbox Code Playgroud)

然后只有模拟器android 2.2 API级别8可能加载文件,其他旧版本显示相同的错误.我错过了什么吗?

有没有办法在适用于所有API版本的应用程序包中加载现有的.html文件?

android android-assets android-webview

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

添加约束以路由以排除某些关键字

我正在使用Rails,我想在路由中使用禁令来排除该路由,如果关键字"incident"在url中的任何位置.

我正在使用rails3.

这是我现有的路线.

match ':arg', :to => "devices#show", :constraints => {:arg => /???/} 
Run Code Online (Sandbox Code Playgroud)

我需要在约束中放置一些内容,以便在出现"事件"字时它不匹配.

谢谢

ruby-on-rails ruby-on-rails-3

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

Oracle包创建错误

我创建了一个包和一个包体,如下所示:

Create or replace Package pkg_1
as
procedure main(param1 varchar2, param2 varchar2, param3 int);
procedure one(param1 varchar2, param2 varchar2);
procedure two(param1 varchar2, param2 varchar2);
end pkg_1;
/

create or replace package body pkg_1
as
procedure main (param1 varchar2, param2 varchar2, param3 int)
is
v_sql_script varchar2(1000);
begin
case param3
when 1 then
v_sql_script := 'begin exec pkg_1.one(:param1,:param2); end;';
execute immediate v_sql_script using param1, param2;
end case;
end;
Run Code Online (Sandbox Code Playgroud)

现在,当我使用以下语句执行包过程时:

exec pkg_1.main('p1','p2',1);

I got the following error:

ORA-06550: line 1, column 12:
PLS-00103: …
Run Code Online (Sandbox Code Playgroud)

oracle oracle10g oracle11g

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