我想知道为什么以下代码无法编译:
void foo_int(int *a) { }
void foo_long(long *a) { }
int main()
{
int i;
long l;
foo_long(&i);
foo_int(&l);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用GCC,并且这两个调用都不能在C或C++中工作.由于它是一个32位系统,因此int和long都是带符号的32位整数(可以在编译时使用sizeof进行验证).
我问的原因是我有两个单独的头文件,都不在我的控制之下,而且有一个像:typedef unsigned long u32;和另一个:typedef unsigned int uint32_t;.声明基本上是兼容的,除非我在上面的代码片段中使用它们作为指针,我必须显式转换.
知道为什么会这样吗?
我想以编程方式在DLL中实例化用户控件,然后将其保存为PNG文件.这通常没有PngBitmapEncoder和RenderTargetBitmap的问题.
这是我的问题:
这是我实例化用户控件并将其保存为PNG文件的代码(LetterFrequency是用户控件):
[STAThread]
static void Main(string[] args)
{
LetterFrequency let = new LetterFrequency();
let.Width = 600;
let.Height = 400;
let.Background = Brushes.White;
let.Measure(new Size(let.Width, let.Height));
let.Arrange(new Rect(new Size(let.Width, let.Height)));
let.UpdateLayout();
RenderTargetBitmap bitmap = new RenderTargetBitmap((int)let.Width, (int)let.Height, 96d, 96d, PixelFormats.Pbgra32);
bitmap.Render(let);
PngBitmapEncoder png = new PngBitmapEncoder();
png.Frames.Add(BitmapFrame.Create(bitmap));
using (Stream stm = File.Create("test.png"))
{
png.Save(stm);
}
}
Run Code Online (Sandbox Code Playgroud)
如果以这种方式运行应用程序,它会生成PNG文件,但是将在XAML中添加的数据不可见,如果查看XAML Designer,您可以看到带有一些气泡的图表.png文件只包含图表区域,但没有气泡?为什么?我认为是一个更新/渲染问题,但如何解决这个问题?
这是visual studio解决方案,它包含Console Project,它将用户控件呈现给PNG文件以及图表的WPF工具包的另外两个项目.
看看它,它将分别在exe文件夹中的bin/Debug中生成PNG文件:http://www.file-upload.net/download-1904406/ChartRenderBitmap.zip.html
希望它没有问题!
谢谢!
我有一个字符串,我从中读到:
TextReader tr = new StreamReader(this.dataPath );
string contents = tr.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)
内容的价值以:
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n....."
Run Code Online (Sandbox Code Playgroud)
当我尝试执行时
string styleSheet = "<?xml-stylesheet type=\"text/xsl\" href=\"message.xsl\"?>";
string xmlString = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
TextReader tr = new StreamReader(this.dataPath );
string contents = tr.ReadToEnd();
contents.Replace(xmlString,xmlString + styleSheet );
Run Code Online (Sandbox Code Playgroud)
它绝对不会找到第一次出现的XmlString.有什么想法吗?
(阅读Alex的答案后更新了标题和内容)
一般来说,我认为它被认为是一种函数的坏形式(非Pythonic),有时根据其参数返回可迭代的,有时是单个项.
例如,struct.unpack即使它只包含一个项目,也总是返回一个元组.
我正在尝试最终确定模块的API,并且我有一些函数可以采用一个或多个参数(via *args),如下所示:
a = s.read(10) # reads 10 bits and returns a single item
b, c = s.read(5, 5) # reads 5 bits twice and returns a list of two items.
Run Code Online (Sandbox Code Playgroud)
因此,如果只有一个参数,则返回单个项目,否则返回列表.现在我认为这很好,并不会令人困惑,但我怀疑其他人可能不同意.
这些函数最常见的用例是只返回一个项目,所以总是返回一个列表(或元组)感觉错误:
a, = s.read(10) # Prone to bugs when people forget to unpack the object
a = s.read(10)[0] # Ugly and it's not clear only one item is being returned
Run Code Online (Sandbox Code Playgroud)
另一个选择是有两个功能:
a = s.read(10)
b, c = s.read_list(5, 5)
Run Code Online (Sandbox Code Playgroud)
这没关系,但它使API混乱并要求用户记住两倍的功能而不添加任何值.
所以我的问题是:有时会返回一个可迭代的,有时一个项目令人困惑和非Pythonic?如果是这样,什么是最好的选择? …
我有以下DataList:
<asp:DataList ID="values" Visible="false" runat="server" DataKeyField="Id">
<ItemTemplate>
<div id="row" style="height: 25px; vertical-align: top">
<div id="left" style="visibility: hidden; width: 25px">
<%# DataBinder.Eval(Container.DataItem, "Id") %>
</div>
<div id="middle" style="width: 400px">
<%# DataBinder.Eval(Container.DataItem, "Name") %>
</div>
<div id="right" style="width: 200px">
<asp:TextBox ID="txtValue" CssClass="required number" runat="server">
<%# DataBinder.Eval(Container.DataItem, "Value") %>
</asp:TextBox>
</div>
</div>
</ItemTemplate>
</asp:DataList>
Run Code Online (Sandbox Code Playgroud)
我想绑定文本框初始值,但Intellisense说我不能写这个块来绑定TextBox的Text属性.
在不考虑代码隐藏的情况下,我有哪种替代方案?
我试图完成的总结:我在PS3和第一场游戏纪念碑谷上玩mottorm,ms网站上没有排行榜.这意味着我无法抓住排行榜数据.现在我对我的ps3进行了连线操作,我看到了纪念碑山谷用于获取排行榜数据的请求.现在我复制了php curl中的请求标题,但它一直让我拒绝访问.
有没有你知道的资源可以帮助我在PSN上验证自己作为PS3?
我经营一个电影节网站,接受电影评级,我关注的是阻止人们欺骗系统(即提交多个评级来修复前十名).
我已经使用了IP地址和浏览器戳检查等技术,但我知道有些人试图通过更改ISP连接或浏览器来欺骗系统.
人们使用什么技术来识别跨多个浏览器的相同用户以及可能不同的IP地址(即不同的ISP连接)?
我并不认为这是万无一失的,只是试图让我的检查尽可能好,以劝阻偶然的罪犯.
我认为这里有类似的帖子,但不完全一样......
我的EF模型中有两个实体 - 让我们称之为Person和Developer,后者继承自前者.
我还有一个名为Qualifications的开发者协会.这在Person实体上不可见.
如果我正在针对上下文编写查询,我该如何自动.Include()开发人员的资格,例如
来自员工的context.Employee .Include("Qualifications")选择员工
不起作用...... EF抱怨这种关系不存在(我假设因为它在Employee上不存在 - 但是在上下文中没有Developer实体,只有Employee).
在以下代码中
begin
raise StandardError, 'message'
#some code that raises a lot of exception
rescue StandardError
#handle error
rescue OtherError
#handle error
rescue YetAnotherError
#handle error
end
Run Code Online (Sandbox Code Playgroud)
我想打印一个警告,说明错误的类型和消息,而不是为每个救援条款添加print语句,例如
begin
raise StandardError, 'message'
#some code that raises a lot of exception
rescue StandardError
#handle error
rescue OtherError
#handle error
rescue YetAnotherError
#handle error
???
print "An error of type #{???} happened, message is #{???}"
end
Run Code Online (Sandbox Code Playgroud)