我们对这行代码有一个Coverity错误:
snprintf( tempStr, size, testStrings[testID], A2DtoV(testResults[testID].value),
A2DtoV(testResults[testID].min),A2DtoV(testResults[testID].max));
Run Code Online (Sandbox Code Playgroud)
错误说:
non_const_printf_format_string: "format string is not a string literal,
potential security vulnerability if user controlled"
Run Code Online (Sandbox Code Playgroud)
我将testStrings更改为const,但是没有做任何事情:
static const char *testStrings[] = {"1", ... etc};
Run Code Online (Sandbox Code Playgroud)
关于这个错误究竟是什么意思的任何想法?
我想$HOME在我正在编写的C++程序中访问环境变量.如果我用C编写代码,我只是使用该getenv()函数,但我想知道是否有更好的方法来实现它.这是我到目前为止的代码:
std::string get_env_var( std::string const & key ) {
char * val;
val = getenv( key.c_str() );
std::string retval = "";
if (val != NULL) {
retval = val;
}
return retval;
}
Run Code Online (Sandbox Code Playgroud)
我应该用getenv()C++访问环境变量吗?是否有任何我可能遇到的问题,我可以通过一点点知识来避免?
我在IE7的脚本上获得第1行的错误"Object Expected",char 1(这是 - 这是).它在Firefox中工作正常,错误控制台什么都不打印.
我尝试了多种方法来调用我的函数,但没有一种方法:
<a href="javascript:doit()">Turingmaschine starten</a>
<a href="#" onclick="doit()">Turingmaschine starten</a>
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?
<script type="text/javascript" language="JavaScript">
var state;
var index;
var program;
var data;
const S=0;
const X=1;
const S2=2;
const X2=3;
const M=4;
const E="SE";
function doit()
{
state=document.getElementById("stat").value;
program = document.getElementById("prog").value.split("\n");
index = document.getElementById("dat").value.indexOf("Z")>>1;
data = document.getElementById("dat").value.replace(/Z,/, "").split(",");
for (var i = 0; i<program.length; i++)
{
program[i]=program[i].split(",");
}
while(state!=E)
{
var i;
for (i = 0; i<program.length; i++)
{
if (program[i][S]==state && program[i][X]==data[index])
{
state = program[i][S2]; …Run Code Online (Sandbox Code Playgroud) 人们经常可以看到类名带有对它们所属的命名空间的引用.其中一个最流行的例子是.NET'Xml'命名空间,其中定义的每个类都以'Xml'标记为前缀.
这对我来说似乎总是多余的,但最近我意识到在某些情况下它可能是有用的......但仍然是多余的.
我想知道人们如何处理这个问题.
谢谢.
我是一名C++开发人员 - 不是java开发人员,但必须让这段代码正常工作......
我有2个公共类,将被另一个产品使用.我在每个java文件中使用了package指令.
package com.company.thing;
class MyClass ...
Run Code Online (Sandbox Code Playgroud)
当我尝试编译使用我添加的测试应用程序时
import com.company.thing.*;
Run Code Online (Sandbox Code Playgroud)
javac编译器失败,com.company不存在.(即使我将它编译在与我刚刚制作包的类文件相同的目录中)
我确信我正在做一些愚蠢和愚蠢的事情.
我已经阅读了http://java.sun.com/docs/books/tutorial/java/package/usepkgs.html页面并尝试设置目录结构,如/ com/company/thing等,但要么我有完全搞砸了或者错过了别的东西.
编辑感谢您的建议 - 我之前尝试过类路径.它没有帮助.
我试过编译
javac -classpath <parent> client.java
Run Code Online (Sandbox Code Playgroud)
结果是:
package com.company does not exist
Run Code Online (Sandbox Code Playgroud)
我在\ com\company\product中有我要导入的代码(两个java文件).我编译好了.(它们包含MyClass)我甚至为它们制作了一个jar文件.我将jar文件复制到父目录.
然后我做了(在客户端java文件的父目录中)
javac -cp <jarfile> *.java
Run Code Online (Sandbox Code Playgroud)
结果是:
cannot access MyClass
bad class file: MyClass.class(:MyClass.class)
class file contains wrong class: com.company.product.MyClass
Please remove or make sure it appears in the correct subdirectory of the classpath.
Run Code Online (Sandbox Code Playgroud)
编辑
如果我使用MyClass的完全限定名称并在父目录中编译它,我获得了编译和运行的客户端代码.我现在完全糊涂了.
没有设置类路径编译 - 只是
javac *.java
Run Code Online (Sandbox Code Playgroud)
在父目录中 - 它工作正常.
我可以得到一个测试应用程序来编译,但是当我必须将它集成到生产代码中时,这不会削减它.仍在寻求帮助.
编辑:
最后 …
我正在尝试使用Spring MVC创建一个Web应用程序,将Hibernate作为其ORM层.但是,由于我对这两个框架缺乏经验,我正在努力.
以下代码将正确显示我正在查找的所有记录,但仍将堆栈跟踪放入我的日志中.我无法找到有关集成Hibernate和SpringMVC的详细文档(我查看了springsource.org并阅读了关于interweb的各种文章).谁能指出我在这里做错了什么?
请注意,我花了一些时间试图在互联网上找到答案,包括查看这个问题.遗憾的是没有帮助.
我还应该注意,此应用程序的ORM部分已在独立的Java应用程序中使用和测试,没有任何问题.所以我认为Spring MVC和Hibernate的集成导致了这个问题.
这是具有着名的延迟初始化问题的堆栈跟踪(截断);
2009-03-10 12:14:50,353 [http-8084-6] ERROR org.hibernate.LazyInitializationException.<init>(LazyInitializationException.java:19) - could not initialize proxy - no Session
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:150)
at com.generic.orm.generated.SearchRule$$EnhancerByCGLIB$$92abaed6.toString(<generated>)
at java.lang.String.valueOf(String.java:2827)
at java.lang.StringBuffer.append(StringBuffer.java:219)
at org.apache.commons.lang.builder.ToStringStyle.appendDetail(ToStringStyle.java:578)
at org.apache.commons.lang.builder.ToStringStyle.appendInternal(ToStringStyle.java:542)
at org.apache.commons.lang.builder.ToStringStyle.append(ToStringStyle.java:428)
at org.apache.commons.lang.builder.ToStringBuilder.append(ToStringBuilder.java:840)
at org.apache.commons.lang.builder.ReflectionToStringBuilder.appendFieldsIn(ReflectionToStringBuilder.java:606)
.....
Run Code Online (Sandbox Code Playgroud)
这是我的网页控制器的代码;
private List<Report> getReports() {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List<Report> reports = session.createCriteria(Report.class).list();
Hibernate.initialize(reports);
session.getTransaction().commit();
return reports;
}
Run Code Online (Sandbox Code Playgroud)
使用此显示html在网页上使用哪个;
<table border="1">
<c:forEach items="${model.reports}" var="report">
<tr>
<td><c:out …Run Code Online (Sandbox Code Playgroud) 在SQL Server 2005中,我试图在索引视图中使用用户定义函数,该视图将用于全文索引.我已经能够让UDF使用存储过程和有问题的视图.但是,当我尝试在视图上创建索引时,我收到以下错误...
无法在视图"DevDatabase.dbo.View_PersonSearch"上创建索引,因为视图引用的函数"dbo.GetCurrentImage"执行用户或系统数据访问.
我很难过.以下是我想要做的一个例子.我错过了什么或者这甚至可能吗?
用户定义的功能
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[GetCurrentImage](@Person_ID int)
RETURNS int
WITH SCHEMABINDING
AS
BEGIN
-- Declare the return variable here
DECLARE @Img_ID int
SET @Img_ID = (**sql that selects image** )
RETURN @Img_ID
END
GO
Run Code Online (Sandbox Code Playgroud)
查看索引创建
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER VIEW [dbo].[View_PersonSearch]
WITH SCHEMABINDING
AS
SELECT Person_ID,
(**Select fields to search on**) AS SearchArea,
dbo.GetCurrentImage(Person_ID) AS FK_Img_ID
FROM dbo.Person
GO
CREATE UNIQUE CLUSTERED INDEX Index_Person_ID …Run Code Online (Sandbox Code Playgroud) 我的模型如下
class UserPrivacy(models.Model):
user = models.ForeignKey(User)
profile = models.SmallIntegerField(default=1, choices=PRIVACY_TYPE)
contact = models.SmallIntegerField(default=1, choices=PRIVACY_TYPE)
friends = models.SmallIntegerField(default=1, choices=PRIVACY_TYPE)
location = models.SmallIntegerField(default=1, choices=PRIVACY_TYPE)
Run Code Online (Sandbox Code Playgroud)
我的模型如下
class PrivacyForm(ModelForm):
class Meta:
model = UserPrivacy
exclude = ('user','location')
Run Code Online (Sandbox Code Playgroud)
我的函数看起来像这样显示和更新表单.
def show_privacy(request):
if not request.user.is_authenticated():
return HttpResponseRedirect('/')
if request.method == 'POST':
form = PrivacyForm(request.POST, instance=User.objects.get(pk=request.session['id']))
if form.is_valid():
form.save()
else:
form = PrivacyForm()
return render_to_response('settings_privacy.html', {'form': form}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
我在db中的user_id是1 ..但是当我发布表单时,它永远不会更新.我知道form.save()因为在那里放一个打印而被调用,它会在开发服务器中显示出来.
这个正则表达式:
<IMG\s([^"'>]+|'[^']*'|"[^"]*")+>
Run Code Online (Sandbox Code Playgroud)
在给出这个文本时似乎无休止地处理
<img src=http://www.blahblahblah.com/houses/Images/
single_and_multi/roof/feb09/01_img_trrnjks_vol2009.jpg' />
Run Code Online (Sandbox Code Playgroud)
我希望它 - 找不到匹配(很快) - 因为文本中只有一个单引号.我已经在C#中使用了Expresso正则表达式工具.如果文本更短,它似乎工作.
我想在我的WPF应用程序中禁用跨线程异常.在Windows窗体应用程序中,我会这样做:
Control.CheckForIllegalCrossThreadCalls = False
Run Code Online (Sandbox Code Playgroud)
如何在WPF应用程序中执行相同操作?