BinaryReader没有EndOfStream属性.使用以下代码检查是否到达流的末尾是否安全?
reader.BaseStream.Length>reader.BaseStream.Position
我试图在Eclipse中测试一个C++ 11线程的例子.但是在运行程序时我收到了这条消息:
在抛出'std :: system_error'的实例后调用终止what():不允许操作'
我的系统:ubuntu + gcc 4.7
程序:
#include <iostream>
#include <thread>
void worker()
{
std::cout << "hello from worker" << std::endl;
}
int main(int argc, char **argv)
{
std::thread t(worker);
t.join();
}
Run Code Online (Sandbox Code Playgroud)
......是的,我把-std=c++11和-pthread里面C/C++ Build -> Settings -> Tool Settings -> Cross G++ Compiler -> Miscellaneous -> Other Flags.
任何意见?
我已经看到线程讨论使用Entity Framework和PostgreSQL与官方指令.这些指令需要gacutil针对每个安装运行,这对于部署目的而言并不那么方便.
我想要做的是将PostgreSQL连接直接传递给DbContext构造函数.这对我来说已经足够了,因为我将在CodeFirst没有设计师的情况下使用.这就是我做的:
public class Context : DbContext
{
Context(System.Data.Common.DbConnection connection)
: base(connection, true)
{
}
public static Context CreateContext()
{
NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=********;Database=xxx;");
conn.Open();
return new Context(conn);
}
}
Run Code Online (Sandbox Code Playgroud)
但是使用这种方法,我收到了一条NotSupportedException消息:
无法确定连接类型为"Npgsql.NpgsqlConnection"的提供程序名称.
我该怎么办?
我将使用Fortran DLL,其中包含具有以下签名的类型(简化):
TYPE MyType
INTEGER(4) :: ii
REAL(8) :: rr
INTEGER(4) :: n_a0
INTEGER(4) :: n_a1
INTEGER(4), POINTER :: a0(:)
REAL(8) , POINTER :: a1(:)
END TYPE
Run Code Online (Sandbox Code Playgroud)
显然,这种类型包含整数和双精度的指针.我通过以下方法从另一个Fortran代码顺利访问此类型.
SUBROUTINE MySub(x)
TYPE(MyType) :: x
Run Code Online (Sandbox Code Playgroud)
我的目标是使用它MyType并MySub通过C#代码.为此,我在C#代码中定义了一个结构,如下所示:
struct MyType
{
public int ii;
public double rr;
public int n_a0;
public int n_a1;
public int[] a0;
public double[] a1;
}
Run Code Online (Sandbox Code Playgroud)
并使用以下方法访问它:
[DllImport("my_test.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void MySub(ref MyType t);
Run Code Online (Sandbox Code Playgroud)
问题是MySub访问非数组成员时一切正常.但是当它试图访问我得到的数组元素时AccessViolationException.我该怎么做才能解决这个问题?
c# ×2
c++ ×2
c++11 ×2
binaryreader ×1
eclipse-cdt ×1
fortran ×1
interop ×1
marshalling ×1
npgsql ×1
streaming ×1
templates ×1