海湾合作委员会 4.4.3 c89
我正在创建一个客户端服务器应用程序,我需要实现一些回调函数。
但是,我在回调方面不太有经验。我想知道是否有人知道设计回调时可以遵循的一些好的参考材料。是否有用于 c 的设计模式?我确实看过一些模式,但那里都是 C++。
非常感谢您的任何建议,
我正在使用此代码和带有xps扩展名的fileName将WPF FlowDocument保存到文件系统:
// Save FlowDocument to file system as XPS document
using (var fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite))
{
var textRange = new TextRange(m_Text.ContentStart, m_Text.ContentEnd);
textRange.Save(fs, DataFormats.XamlPackage);
}
Run Code Online (Sandbox Code Playgroud)
我的应用可以使用以下代码重新加载文档:
// Load file
using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
m_Text = new FlowDocument();
var textRange = new TextRange(m_Text.ContentStart, m_Text.ContentEnd);
textRange.Load(fs, DataFormats.XamlPackage);
}
Run Code Online (Sandbox Code Playgroud)
但是,Windows 7附带的XPS Viewer无法打开文件.保存的XPS文件显示XPS图标,但是当我双击一个时,XPS查看器无法打开它.错误消息显示"XPS Viewer无法打开此文档".
知道我需要对XPS文档做什么才能让它可以通过XPS Viewer打开吗?谢谢你的帮助.
使用winsock,您可以将套接字或单独的I/O操作配置为"重叠".这意味着立即返回执行I/O的调用,而实际操作由单独的工作线程异步完成.
Winsock还提供"完成端口".据我所知,完成端口充当句柄(套接字)的多路复用器.如果句柄不在I/O操作的中间,即如果其所有I/O操作都已完成,则可以解复用句柄.
那么,关于我的问题...... linux是否支持完成端口甚至是套接字的异步I/O?
我试图先按x坐标,然后按y坐标对2D点列表进行排序.我实现了IComparer接口,如下所示:
class PointComparer : IComparer<Point>
{
public int Compare(Point x, Point y)
{
if (x.Y != y.Y)
{
return x.Y - y.Y;
}
else
{
return x.X - y.X;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后调用我的排序如下:
pointsList.Sort(new PointComparer());
Run Code Online (Sandbox Code Playgroud)
由于某种原因,列表不排序.肯定是非常简单和愚蠢的事情,但坚持了很长一段时间...... TIA
我一直在使用Dreamweaver进行Web开发,并希望尝试使用eclipse.我想将源文件保存在现在的位置.我需要为我的工作区设置什么,然后如何设置它以查看我现有的文件?
我想在Cocoa中为Mac编写一个DLNA服务器.在Objective-C或C中是否有任何用于说UPnP/DLNA的库?如果失败了,DLNA的规格在哪里,我可以写自己的?
如果打开多个窗口,这应该有效.
我的应用程序是在J2EE中.
我已经在window.unloadn上尝试了一些javascript,但这种解决方案并不牢固.
我正在使用NHibernate开发一个ASP.NET MVC应用程序,我正在尝试使用Automapper从发送到视图的DTO对象中隐藏Domain对象:
SessionFactory在我的项目中创建和工厂的类库我下载了AutoMapper来转换DTO中的Domain对象,并添加了代码来执行此操作Application_Start.
当我在VisualStudio中运行应用程序时(通过按F5),它工作正常,我的DTO映射到视图中.
当我在IIS中发布它时,我得到一个安全性异常:
Mapper.CreateMap<Category, CategoryDto>();
Mapper.CreateMap<Product, ProductDto>();
Run Code Online (Sandbox Code Playgroud)
System.Security.SecurityException:对类型'System.Security.Permissions.ReflectionPermission,mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限的请求失败.
如何在没有安全性异常的情况下使Automapper工作?
我再一次在我的代码中寻找内存泄漏和其他疯狂错误.:)
我有一个常用文件的缓存(图像,数据记录等,TTL大约一周,大小限制缓存(100MB)).目录中有时超过15000个文件.在应用程序退出时,缓存会写入一个控制文件,其中包含当前缓存大小以及其他有用信息.如果应用程序由于某种原因崩溃(有时会发生),我在这种情况下计算应用程序启动时所有文件的大小,以确保我知道缓存大小.我的应用程序崩溃,因为内存不足,我不知道为什么.
内存泄漏检测器根本不显示任何泄漏.我也没有看到.下面的代码有什么问题?有没有其他快速的方法来计算iPhone上目录中所有文件的总大小?也许没有枚举目录的全部内容?代码在主线程上执行.
NSUInteger result = 0;
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSDirectoryEnumerator *dirEnum = [[[NSFileManager defaultManager] enumeratorAtPath:path] retain];
int i = 0;
while ([dirEnum nextObject]) {
NSDictionary *attributes = [dirEnum fileAttributes];
NSNumber* fileSize = [attributes objectForKey:NSFileSize];
result += [fileSize unsignedIntValue];
if (++i % 500 == 0) { // I tried lower values too
[pool drain];
}
}
[dirEnum release];
dirEnum = nil;
[pool release];
pool = nil;
Run Code Online (Sandbox Code Playgroud)
谢谢,MacTouch
我有一个函数(来自之前没有回答的问题),它创建了一个包含n个值的数组.数组的总和等于$ max.
function randomDistinctPartition($n, $max) {
$partition= array();
for ($i = 1; $i < $n; $i++) {
$maxSingleNumber = $max - $n;
$partition[] = $number = rand(1, $maxSingleNumber);
$max -= $number;
}
$partition[] = $max;
return $partition;
}
Run Code Online (Sandbox Code Playgroud)
例如:如果我设置$ n = 4和$ max = 30.那么我应该得到以下内容.
array(5, 7, 10, 8);
Run Code Online (Sandbox Code Playgroud)
但是,此功能不考虑重复项和0.我想要 - 并且一直在努力完成 - 是生成一个具有唯一数字的数组,这些数字加起来我的预定变量$ max.没有重复的数字,没有0和/或负整数.
c ×2
php ×2
algorithm ×1
asp.net-mvc ×1
asynchronous ×1
automapper ×1
browser ×1
c# ×1
cocoa ×1
crash ×1
dlna ×1
eclipse ×1
flowdocument ×1
icomparable ×1
ide ×1
iis ×1
iocp ×1
iphone ×1
java-ee ×1
linux ×1
macos ×1
memory-leaks ×1
objective-c ×1
points ×1
posix ×1
security ×1
session ×1
sockets ×1
sorting ×1
wpf ×1
xps ×1