Skip to content

Instantly share code, notes, and snippets.

@ihnorton
ihnorton / derefptr.jl
Last active December 15, 2015 14:29
derefptr
derefptr(thisptr, vtidx) = pointer(Void, unsafe_ref(pointer(Uint64, unsafe_ref(pointer(Uint64,thisptr)))+vtidx*8) )
julia> disassemble(Clang.wrap_cpp.derefptr, (Ptr{Void},Int64))
define i8* @julia_derefptr817(i8*, i64) {
top:
%2 = bitcast i8* %0 to i64*, !dbg !7020, !julia_type !7027
%3 = load i64* %2, !dbg !7020, !julia_type !7028
%4 = inttoptr i64 %3 to i64*, !dbg !7020, !julia_type !7027
%5 = ptrtoint i64* %4 to i64, !dbg !7020, !julia_type !7028
#include <stdio.h>
// g++ -g -shared test.cpp -o test.dll
class __declspec(dllexport) AAA {
public:
AAA();
virtual ~AAA();
virtual void foo() {};
};
@ihnorton
ihnorton / gist:5666307
Created May 28, 2013 21:29
Slicer VS2012 Tests
1> Test project E:/dev/S4SB/Slicer-build
1> Start 1: cmake_slicer_setting_variable_message_test
1> 1/564 Test #1: cmake_slicer_setting_variable_message_test ................................ Passed 0.05 sec
1> Start 2: cmake_list_to_string_test
1> 2/564 Test #2: cmake_list_to_string_test ................................................. Passed 0.02 sec
1> Start 3: vtkDiffusionTensorMathematicsTest1
1> 3/564 Test #3: vtkDiffusionTensorMathematicsTest1 ........................................ Passed 0.14 sec
1> Start 4: VTKITKVectorReader
1> 4/564 Test #4: VTKITKVectorReader ........................................................ Passed 0.80 sec
1> Start 5: VTKITKBSplineTransform
@ihnorton
ihnorton / gist:5719251
Created June 6, 2013 04:09
Example disassembly with line information
julia> disassemble(write, (IO, Char), true)
Warning: Returned code may not match what actually runs.
Filename: io.jl
Source line: 61
push RBP
mov RBP, RSP
push R15
push R14
push R13
push R12
@ihnorton
ihnorton / CMake Options.md
Last active December 18, 2015 05:49
VTK5.10.1 build patch

VTK_USE_GCC_VISIBILITY = off

@ihnorton
ihnorton / includes
Created August 7, 2013 01:30
too many includes
FAILED: "C:/Program Files (x86)/CMake 2.8/bin/cmcldeps.exe" CXX C:\cmn\S4\Modules\CLI\LinearRegistration\LinearRegistration.cxx "Modules/CLI/LinearRegistration/CMakeFiles/LinearRegistrationLib.dir/LinearRegistration.cxx.obj.d" Modules\CLI\LinearRegistration\CMakeFiles\LinearRegistrationLib.dir\LinearRegistration.cxx.obj "Note: including file: " "C:/opt/VS2012/VC/bin/x86_amd64/cl.exe" C:\opt\VS2012\VC\bin\x86_amd64\cl.exe /nologo /TP /DWIN32 /D_WINDOWS /W2 /GR /EHsc /bigobj /bigobj /bigobj /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1
C:\cmn\S4NJ\SlicerExecutionModel-build\ModuleDescriptionParser
C:\cmn\S4NJ\SlicerExecutionModel\ModuleDescriptionParser
C:\cmn\S4NJ\SlicerExecutionModel\tclap\include
Libs\ITKFactoryRegistration
C:\cmn\S4\Libs\ITKFactoryRegistration
C:\cmn\S4NJ\DCMTK\dcmrt\include
C:\cmn\S4NJ\DCMTK\dcmpstat\include
C:\cmn\S4NJ\DCMTK\dcmqrdb\include
C:\cmn\S4NJ\DCMTK\dcmwlm\include
@ihnorton
ihnorton / PETSc.jl
Last active December 21, 2015 16:08
barebones julia wrapper generated from petsc.h
# Julia wrapper for header: /usr/include/petsc/petsc.h
# Automatically generated using Clang.jl wrap_c, version 0.0.0
function PetscAbsScalar(a::PetscScalar)
ccall((:PetscAbsScalar,petsc),PetscReal,(PetscScalar,),a)
end
function PetscIsInfOrNanScalar(arg1::PetscScalar)
ccall((:PetscIsInfOrNanScalar,petsc),PetscErrorCode,(PetscScalar,),arg1)
@ihnorton
ihnorton / jl-win-debug.md
Last active December 24, 2015 04:29
How to run gdb + Julia on Windows
  1. download mingw-64 from here

  2. extract to path SOMEWHERE

  3. start command prompt

  4. set up paths

    a. mingw

@ihnorton
ihnorton / gist:6757140
Created September 29, 2013 22:23
After `make` failures, did `make distclean` and got this result
isaiah@io /c/dev/julia-0828
$ make -j4
cp /mingw64/bin/libgfortran-3.dll /c/dev/julia-0828/usr/bin ;
cp /mingw64/bin/libquadmath-0.dll /c/dev/julia-0828/usr/bin ;
cp /mingw64/bin/libstdc++-6.dll /c/dev/julia-0828/usr/bin ;
cp /mingw64/bin/libgcc_s_seh-1.dll /c/dev/julia-0828/usr/bin ;
Junction created for C:\dev\julia-0828\usr\share\julia\base <<===>> C:\dev\julia-0828\base
Junction created for C:\dev\julia-0828\usr\share\julia\test <<===>> C:\dev\julia-0828\test
Junction created for C:\dev\julia-0828\usr\share\julia\doc <<===>> C:\dev\julia-0828\doc
Junction created for C:\dev\julia-0828\usr\share\julia\examples <<===>> C:\dev\julia-0828\examples
#include <stdio.h>
#include <stddef.h>
//#include "jpeglib.h"
#define MAX_COMPS_IN_SCAN 4
typedef struct {
int comps_in_scan; /* number of components encoded in this scan */
int component_index[MAX_COMPS_IN_SCAN]; /* their SOF/comp_info[] indexes */
int Ss, Se; /* progressive JPEG spectral selection parms */
int Ah, Al; /* progressive JPEG successive approx. parms */