是否有64位类型在每个操作系统(32/64位)和每个编译器的大小为64?
同样的问题也适用于32位类型.(它应该是int?)
问题的起源是:我正在实施有两种指令的系统:
我想写一些类似的东西:
typedef int instruction32bit;
typedef long long instruction64bit //it is not correct some system have sizeof(long long) = 128
Run Code Online (Sandbox Code Playgroud) 在编译期间,我收到以下错误:
RAT_RendererDX9.obj:错误LNK2019:解析外部符号_Direct3DCreate9 @ 4在功能上引用的 "市民:无效__thiscall RAT_ENGINE :: RAT_RendererDX9 ::初始化(类RAT_ENGINE :: RAT_WindowManager*)?"(初始化@ RAT_RendererDX9 @ RAT_ENGINE @@ QAEXPAVRAT_WindowManager @ 2 @ @Z)
我使用的唯一的地方Direct3DCreate9是我Init()其中有下面的代码中渲染的功能:
void RAT_RendererDX9::Init(RAT_WindowManager* argWMan)
{
wMan = argWMan;
g_pD3D = (LPDIRECT3D9)Direct3DCreate9( D3D_SDK_VERSION );
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory( &d3dpp, sizeof( d3dpp ) );
d3dpp.Windowed = TRUE;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&d3dpp, &g_pd3dDevice );
}
Run Code Online (Sandbox Code Playgroud)
这个错误来自哪里,我该如何解决?
我已经尝试了LNK2019的其他答案,但他们没有解决我的问题.
我有完美的工作代码,这不符合我的要求......但是有效.
我想集中而不是漂浮
这是工作代码:
我的.css:
* {
margin: 0;
padding: 0;
}
body { background: #ededed url(../images/bg.gif) repeat-x; }
p {
color: #999;
padding: 0;
margin: 10px 0;
font: 12px/18px Arial, Helvetica, sans-serif;
}
#container {
margin: auto;
width: 950px;
}
#header {
height: 302px;c
width: 950px;
float: left;
background: url(../images/header.gif) no-repeat;
}
#logo { margin-top: 60px; }
#logo h1 {
display: block;
float: left;
width: 503px;
height: 57px;
text-indent: -9999px;
}
#logo h1 a {
display: block;
width: 100%;
height: …Run Code Online (Sandbox Code Playgroud) 我的XML文件中有一个元素,其值可以是decimal或date.在用于验证的XML模式中,我将其指定为:
<xs:element name = "data" type="xs:decimal"/>
Run Code Online (Sandbox Code Playgroud)
或者我可以指定为type="xs:date".
这仅将其验证为日期或小数.是否有其他数据类型或某些东西允许我验证此元素,无论它是否具有日期或小数值?
我有一堆很慢的函数,基本上是这样的:
private async Task<List<string>> DownloadSomething()
{
var request = System.Net.WebRequest.Create("https://valid.url");
...
using (var ss = await request.GetRequestStreamAsync())
{
await ss.WriteAsync(...);
}
using (var rr = await request.GetResponseAsync())
using (var ss = rr.GetResponseStream())
{
//read stream and return data
}
}
Run Code Online (Sandbox Code Playgroud)
除了调用之外,这很好地和异步地工作WebRequest.Create- 这一行将UI线程冻结几秒钟,这会破坏async/await的目的.
我已经使用BackgroundWorkers 编写了这个代码,它完美运行并且永远不会冻结UI.
但是,创建与async/await相关的Web请求的正确,惯用方法是什么?或者也许应该使用另一个类?
我已经看到了关于异步a的好答案WebRequest,但即使在那里,对象本身也是同步创建的.
以下c#代码:
Func<Customer, bool> predicate1 = s => s.Name == "Roger";
dbContext.Customers.Where(predicate1);
Run Code Online (Sandbox Code Playgroud)
生成这个SQL查询:
select col1,col2 from customers
Run Code Online (Sandbox Code Playgroud)
注意在上面的sql查询中,没有where子句.
但是,在这个c#代码中:
dbContext.Customers.Where(s => s.Name == "Roger");
Run Code Online (Sandbox Code Playgroud)
它产生:
select col1,col2 from customers where name = 'Rogers'
Run Code Online (Sandbox Code Playgroud)
为什么有区别?有没有办法传递像上面这样的谓词,仍然生成带有where子句的SQL查询?
我正在尝试使用SQL查询来找出有多少个学生在同一学期学习了2门科目。
我有一个有3行的表格,我想找出哪个学生在同一学期同时研究了科目“ 4877”和“ 4897”。但是我不知道如何形容“同一学期”。
学生学科学期 1070781 4877 126 1070781 4897 126 1076677 4877 135 1078595 4877 126 1078595 4897 126 1078716 4897 127 1079496 4877 126 1079496 4897 126 1079627 4897 127 1080640 4877 127 ...
SELECT student
FROM table
WHERE "studied 4877 and 4897 in the same semester";
Run Code Online (Sandbox Code Playgroud)
学生 1070781 1078595 1079496 ...
我有一个分析大型XML文件并基于该内容构建WPF UI控件的应用程序。此任务通常需要大约15-30秒。为了通知用户正在运行的任务,我显示了一个简单的中间进度对话框窗口,例如:
Thread progressDialogThread = new Thread(() =>
{
Window window = new Window
{
Content = new ProgressDialog(),
Height = 100,
Width = 150,
WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen
};
window.ShowDialog();
});
progressDialogThread.SetApartmentState(ApartmentState.STA);
progressDialogThread.IsBackground = true;
progressDialogThread.Start();
buildUI();
progressDialogThread.Abort();
Run Code Online (Sandbox Code Playgroud)
这是可行的,但是progressDialogThread.Start()当应该再次解析XML时,有时会在上获得ThreadAbortException 。
有谁知道“关闭”进度对话框的更好方法?
由于控件必须构建在主UI线程上,因此我不能使用backgroundworker ...
XAML中的进度对话框本身如下所示:
<UserControl x:Class="MyDialog.ProgressDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MyDialog"
mc:Ignorable="d"
Background="{DynamicResource MaterialDesignPaper}"
TextElement.Foreground="{DynamicResource MaterialDesignBody}"
Height="100" Width="150">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<Label HorizontalAlignment="Center">Please wait</Label>
<ProgressBar
Style="{StaticResource MaterialDesignCircularProgressBar}"
Value="0"
IsIndeterminate="True" Width="40" Height="41" Margin="55,0" HorizontalAlignment="Center" VerticalAlignment="Center" />
</StackPanel>
</UserControl>
Run Code Online (Sandbox Code Playgroud) 我在 Hackerrank.com 上解决了一个任务,问题是这样的:
你有一个数组。此数组包含数字。
现在输入两个数字:
- 第一个描述一个总和
- 第二个描述了你加在一起的索引数量(序列长度)
最后你会得到总和是你定义的数字的序列数量
例如:
你的数组是 [1, 2, 3, 4],你的总和是 3,你的序列长度是 2。
现在你取前两个索引并输出总和:[1, 2] = 3。
这等于你的总和,所以现在你已经找到了一个序列。
下一个序列是 [2, 3] = 5。这不等于 3,所以你的序列计数器保持 1。
最后一个序列是 [3, 4] = 7。这也不等于 3,最后,你找到了一个序列。
我为此编写了这段代码:
static int GetSequences(List<int> s, int d, int m)
{
//m = segment-length
//d = sum
int count = 0;
int j = 0;
int k = 0;
do
{
try
{
List<int> temp = new List<int>();
for (int i = 0; i < m; i++) …Run Code Online (Sandbox Code Playgroud) 在另一个答案中,大致使用了以下代码:
c.Events.OnRedirectToAccessDenied = async (context) => context.Response.StatusCode = 403;
Run Code Online (Sandbox Code Playgroud)
编译器对箭头运算符发出警告,表示不会以任何形式等待表达式。删除async关键字确认需要OnRedirectToAccessDenied一个返回 Task ( Func<RedirectContext<CookieAuthenticationOptions>, Task>)的函数,并且以下无法构建:
c.Events.OnRedirectToAccessDenied = (context) => context.Response.StatusCode = 403;
Run Code Online (Sandbox Code Playgroud)
该async关键字似乎仅用于将表达式转换为任务。我以前没见过async用这种方式。
下面的代码不会给出任何编译器警告,但它看起来并不优雅。
c.Events.OnRedirectToAccessDenied = (context) => Task.Run(
() => context.Response.StatusCode = 403
);
Run Code Online (Sandbox Code Playgroud)
编译器警告是否毫无根据,async以这种方式使用是否一个好主意?
c# ×5
async-await ×2
c++ ×2
.net-4.5 ×1
arrays ×1
bit ×1
css ×1
directx ×1
directx-9 ×1
gcc ×1
html ×1
linq ×1
linq-to-sql ×1
sizeof ×1
sql ×1
sql-server ×1
visual-c++ ×1
xml ×1
xsd ×1