Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - laephy

#1
Hola,

tengo un programa de linea de comandos que escribe un "log" file en el directorio del ejecutable. Sin embargo, cuando utilizo el mismo programa a través de una macro de excel, en lugar de escribir el "log" file en el directorio del ejecutable lo escribe en la carpeta documentos.

El código utilizado para crear y abrir el archivo es:

FILE *_ulog; /*log file*/
_ulog = fopen("View3D.log", "w");


¿Como puedo indicar al programa, independientemente se utilice con el excel o como linea de comandos, que me escriba siempre el archivo log file en el directorio donde se encuentra el ejecutable?

Muchas gracias de antemano.



MOD: Corregidas las etiquetas de código
#2
Gracias.

Al final lo he solucionado creando una clase del tipo CHeatSolver.


WATHANAPI void HeatSolver(){

CHeatSolver HeatSolver;
HeatSolver.solver();

}

#3
Programación C/C++ / Re: compilando en debug modo
28 Septiembre 2011, 00:29 AM
Al final me he instalado el Windbg y después de buscar un poco de información en internet sobre como funcionaba he intentado depurar mi programa. Pero la verdad que no entiendo muy bien, lo que aparece en pantalla.

Me pueden explicar como puedo solucionar el Access violation - code c0000005 (first chance) que aparece al final de la pantalla en el Windbg.

CitarCommandLine: "C:\PRESSURE\pressure.exe"
Symbol search path is: SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols
Executable search path is: C:\PRESSURE\Debug
ModLoad: 00400000 0044b000   pressure.exe
ModLoad: 7c900000 7c9b2000   ntdll.dll
AVRF: pressure.exe: pid 0x9F0: flags 0x80443027: application verifier enabled
ModLoad: 5ad10000 5ad59000   C:\WINNT\System32\verifier.dll
ModLoad: 10000000 1002b000   C:\WINNT\System32\vrfcore.dll
ModLoad: 00370000 003c8000   C:\WINNT\System32\vfbasics.dll
ModLoad: 7c800000 7c8f6000   C:\WINNT\system32\kernel32.dll
AVRF: verifier.dll provider initialized for pressure.exe with flags 0x80443027
ModLoad: 781d0000 78416000   C:\WINNT\WinSxS\x86_Microsoft.VC80.DebugMFC_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_c8452471\MFC80D.DLL
ModLoad: 10200000 10320000   C:\WINNT\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\MSVCR80D.dll
ModLoad: 77c10000 77c68000   C:\WINNT\system32\msvcrt.dll
ModLoad: 77f10000 77f59000   C:\WINNT\system32\GDI32.dll
ModLoad: 7e410000 7e4a1000   C:\WINNT\system32\USER32.dll
ModLoad: 77f60000 77fd6000   C:\WINNT\system32\SHLWAPI.dll
ModLoad: 77dd0000 77e6b000   C:\WINNT\system32\ADVAPI32.dll
ModLoad: 77e70000 77f03000   C:\WINNT\system32\RPCRT4.dll
ModLoad: 77fe0000 77ff1000   C:\WINNT\system32\Secur32.dll
ModLoad: 77120000 771ab000   C:\WINNT\system32\OLEAUT32.dll
ModLoad: 774e0000 7761e000   C:\WINNT\system32\ole32.dll
ModLoad: 10480000 1057c000   C:\WINNT\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\MSVCP80D.dll
(9f0.e68): Break instruction exception - code 80000003 (first chance)
eax=01456fec ebx=7ffd4000 ecx=00000005 edx=00000020 esi=0145afb0 edi=01456fec
eip=7c90120e esp=0012fb20 ebp=0012fc94 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
ntdll!DbgBreakPoint:
7c90120e cc              int     3
0:000> g
ModLoad: 76390000 763ad000   C:\WINNT\system32\IMM32.DLL
ModLoad: 5d360000 5d36e000   C:\WINNT\WinSxS\x86_Microsoft.VC80.MFCLOC_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_0ccc058c\MFC80ENU.DLL
ModLoad: 7c9c0000 7d1d7000   C:\WINNT\system32\SHELL32.dll
ModLoad: 773d0000 774d3000   C:\WINNT\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202\comctl32.dll
ModLoad: 5d090000 5d12a000   C:\WINNT\system32\comctl32.dll
ModLoad: 5ad70000 5ada8000   C:\WINNT\system32\uxtheme.dll
ModLoad: 74720000 7476c000   C:\WINNT\system32\MSCTF.dll
ModLoad: 77c00000 77c08000   C:\WINNT\system32\version.dll
ModLoad: 755c0000 755ee000   C:\WINNT\system32\msctfime.ime
(9f0.e68): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=0000004e ebx=7ffd4000 ecx=00000000 edx=03060000 esi=0012f81c edi=0012f814
eip=102a3aa0 esp=0012f550 ebp=0012f79c iopl=0         nv up ei pl zr na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010246
MSVCR80D!_input_l+0xa50:
102a3aa0 8802            mov     byte ptr [edx],al          ds:0023:03060000=??

Gracias de nuevo por la ayuda.

Laura
#4
Programación C/C++ / Re: compilando en debug modo
21 Septiembre 2011, 22:55 PM
¿Que datos necesitas saber para poder ayudarme?

No conozco el programa WinDbg, ¿dónde puedo conseguirlo y cómo funciona?
#5
Programación C/C++ / compilando en debug modo
20 Septiembre 2011, 23:12 PM
Hola,

no se si este tema corresponde aquí o no. De todas formas aquí os dejo mi pregunta.

Me han pasado un programa realizado en vc++ 6.0 y en el cual la compilacion tanto en debug modo como en release modo funcionaba. Ahora lo he intentado yo compilar con el vs 2005. No tengo ningún problema a la hora de "build" el ejecutable, pero si intento hacer un debug me da el siguiente error:

CitarApplication error: The instruction at "0x7c910c8e" referenced memory at "0x68636552". The memory could not be "read".

Lo mas curioso de todo, que sin embargo si puedo hacer el debug en modo release sin problemas.

Alguien me podría explicar porque ocurre este error? Como es posible que haga el debug en modo release y no en modo debug? A que puede deberse?

Muchas gracias de antemano.

Laura
#6
Programación C/C++ / fstream.h
13 Abril 2011, 23:32 PM
Hola a todos!

Tengo un problema con una interfaz de usuario que esta realizada en c++. El programa no lo he realizado yo, tiene ya algunos años. He tenido que modificar unas caracteristicas del programa y a la hora de compilar con el microsoft visual studio la version del 2005 me surge el siguiente problema:

fstream.h no puede abrirse.

He estado mirando en internet y parece ser que no es una biblioteca standard de microsoft y que hay una nueva version sin el .h (usando #include <fstream> con using namespace std; en lugar de #include <fstream.h>). Al sustituirlo en el programa e intentar compilar, surgen nuevos errores de compilacion pero ahora en los siguientes comandos:

ifstream in(Dateiname, ios::in, filebuf::sh_read);

da un problema en el filebuf y si lo elimino da un problema en el siguiente comando

ifstream file(Dateiname, ios::out|ios::nocreate,filebuf::sh_none);

donde encuentra problemas en el filebuf y en el ios::nocreate

Alguien me puede decir que puedo hacer para que compile?